Blogger Information
Blog 47
fans 3
comment 0
visits 38271
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数据类型的转换与检测、变量声明与常用声明的使用方式
Original
568 people have browsed it

1. 数据类型的转换与检测

1.1 数据类型的转换
  • 临时转换

  1. <?php
  2. // 1.临时转换
  3. // 地址栏传参:?id=123
  4. $id = $_GET['id'];
  5. // url中获取的内容全部默认为字符串
  6. var_dump($id);
  7. // 使用(int)转为整数
  8. $id = (int)$id;
  9. echo gettype($id);
  10. echo '<hr>';
  11. $b = 123;
  12. // 使用(string)转为字符串
  13. var_dump($b,(string)$b);
  14. echo '<hr>';
  15. // 使用(float)转为浮点数
  16. var_dump($b,(float)$b);
  17. echo '<hr>';
  18. // 使用(array)转为数组
  19. var_dump($b,(array)$b);
  20. echo '<hr>';
  21. // 使用(object)转为对象
  22. var_dump($b,(object)$b);
  23. ?>
  • 系统自动转换

  1. <?php
  2. // 自动转换
  3. echo 123 + '478';
  4. // 等价于
  5. // 数值自动转换(int)
  6. echo 123 + (int)'478';
  7. echo '<br>';
  8. // 字符串自动转换
  9. echo 'php' . 123 . '<br>';
  10. // // 等价于
  11. echo 'php' . (string)123 . '<br>';
  12. // 布尔转换
  13. if (!isset($email)) echo '未定义邮箱';
  14. ?>
  • 永久转换

  1. <?php
  2. $price = 888;
  3. // // 永久转换
  4. settype($price,'string');
  5. // 返回string
  6. echo gettype($price);
  7. ?>
1.2 数据类型的检测

  1. <?php
  2. // is_numeric()检测参数是否数值或数值型字符串
  3. function sum2($a,$b) {
  4. if (is_numeric($a) && is_numeric($b))
  5. printf('%d + %d = %d<br>',$a,$b,($a + $b));
  6. else echo '参数错误<br>';
  7. }
  8. sum2(12,12);
  9. sum2(12,'24');
  10. sum2('php','cn');
  11. echo '<hr>';
  12. // is_int()检测是否整数
  13. function sum3($a,$b) {
  14. if(is_int($a) && is_int($b))
  15. printf('%d + %d = %d <br>',$a,$b,($a + $b));
  16. else echo '参数错误<br>';
  17. }
  18. sum3(12,13);
  19. sum3(123.33,123.22);
  20. echo '<hr>';
  21. // int检测整数,float可检测整数和浮点数
  22. function sum4(float $a,float $b) {
  23. return $a . ' + ' . $b . ' = ' . ($a + $b) . '<br>';
  24. }
  25. echo sum4(123,'33');
  26. echo sum4(123.45,123.33);
  27. echo '<hr>';
  28. // is_scalar()检测变量类型是否标量(标量就是单值)
  29. // 是标量返回true
  30. var_export(is_scalar(1));
  31. echo '<br>';
  32. // 对象不是标量返回false
  33. var_export(is_scalar(new class{}));
  34. echo '<hr>';
  35. $str = 'a,1,2';
  36. $arr = ['a','1','2'];
  37. $obj = (object)$arr;
  38. // $str 是字符串 true
  39. echo '$str:is_string ->' . var_export(is_string($str),true), '<br>';
  40. // $str 是布尔 false
  41. echo '$srt:is_bool ->' . var_export(is_bool($str),true), '<br>';
  42. // $arr 是数组 true
  43. echo '$arr:is_array ->' . var_export(is_array($arr),true), '<br>';
  44. // $obj 是对象 true
  45. echo '$obj:is_object ->' . var_export(is_object($obj),true), '<br>';
  46. // $obj 是null false
  47. echo '$obj:is_null ->' . var_export(is_null($obj),true), '<br>';
  48. // $obj 是资源 false
  49. echo '$obj:is_resource ->' . var_export(is_resource($obj),true), '<br>';
  50. ?>

2. 变量声明与常用声明的使用方式

1.驼峰式:$userName``getUser()常用于对象属性和方法中
2.蛇形:set_public常用于函数中
3.帕斯卡:UserModel常用于类的名称中,也叫大驼峰
4.全大写:const define()常量声明中

  1. <?php
  2. // 驼峰式
  3. $userName = '天蓬大人';
  4. echo $userName;
  5. echo '<hr>';
  6. // 蛇形
  7. function set_uesername($name) {
  8. return 'Hello,' . $name;
  9. }
  10. echo set_uesername('灭绝老师');
  11. echo '<hr>';
  12. // 帕斯卡(大驼峰)
  13. class SetName{
  14. private $setTitle = 'php中文网';
  15. public function setTitle() {
  16. return $this->setTitle;
  17. }
  18. }
  19. $SetName = new SetName;
  20. echo $SetName->setTitle();
  21. echo '<hr>';
  22. // const常量全大写
  23. const PHPURL = 'php.cn';
  24. echo PHPURL;
  25. // define()常量全大写
  26. if (true) {
  27. define('USER','天蓬大人');
  28. }
  29. echo USER;
  30. ?>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments