博客列表 >数据类型的转换与检测、变量声明与常用声明的使用方式

数据类型的转换与检测、变量声明与常用声明的使用方式

吳
原创
2021年01月27日 05:52:40567浏览

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. ?>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议