Blogger Information
Blog 46
fans 0
comment 0
visits 39627
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
示例演示:数据类型的转换和检测技术、变量与常量的方式以及使用
lus菜
Original
586 people have browsed it

数据类型:

临时转化的样式代码:

  1. <?php
  2. // 临时转换: 用户 并不会改变数据的原始类型
  3. $id = $_GET['id'];
  4. var_dump($id);
  5. // id应该是整数才方便运算,url中的内容全部默认是字符串
  6. // 转换到整数
  7. $id = (int)$id;
  8. if ($id === 3) {
  9. echo '接收成功';
  10. }
  11. echo '<br>';
  12. // 转为浮点数
  13. $n = 1212;
  14. var_dump($n, (string)$n,(float)$n) ;
  15. echo '<hr>';
  16. // 数组
  17. var_dump((array)$n,((array)$n)[0]);
  18. echo '<hr>';
  19. // 字符串转数组意义不大
  20. $str = 'PHP';
  21. echo $str[0],$str[1], $str[2], '<br>';
  22. // 字符串转对象
  23. var_dump((object)$str,((object)$str)->scalar);
  24. echo '<hr>';
  25. // 原始类型
  26. var_dump($str);

效果预览:

自动转换: 系统

样式代码:

  1. <?php
  2. // 每一种操作符,它要求的操作数类型是固定的,如果不满足就自动转换
  3. echo 123 + '456';
  4. echo '<br>';
  5. // "+"要求参与计算的数据都是数值类型,如果不是,就是会触发自动转换
  6. echo 123 + (int)'456';
  7. echo '<hr>';
  8. echo 123 + 'php456';
  9. echo '<br>';
  10. echo (int)'php456';
  11. echo '<hr>';
  12. echo 123 + '456php';
  13. echo '<hr>';
  14. // ".", 希望二边都是字符串,如果不是就转换 字符串拼接
  15. echo 'php' . 123 . '<hr>';
  16. // 最常用的是布尔转换
  17. if (!$email) echo '未定义邮箱';
  18. echo '<br>';
  19. // $email 未定义,NULL
  20. var_dump($email);
  21. echo '<br>';
  22. // null ==> false
  23. echo var_export((bool)null);
  24. echo '<hr>';
  25. if (!isset($email)) echo '未定义邮箱';

效果预览:

永久转换: 只针对变量

样式代码:

  1. <?php
  2. $price = 124;
  3. // 整数类型
  4. echo gettype($price), '<br>';
  5. // 转为字符串
  6. echo gettype((string)$price), '<br>';
  7. // 原始类型
  8. echo gettype($price), '<hr>';
  9. // 永久转换
  10. // 第一个参数要转换的变量,第二个转换的类型
  11. settype($price, 'string');
  12. echo gettype($price), '<br>';

效果预览:

类型检测:

  1. // 类型检测
  2. $pst = 'A, 0, 1';
  3. $olt = ['A', 0, 1];
  4. $obj = (object)$olt;
  5. // 检测$pst是数字
  6. echo '$pst: is_numeric = ', var_export(is_numeric($pst), true), '<br />';
  7. // 检测$pst是整数
  8. echo '$pst: is_int = ', var_export(is_int($pst), true), '<br />';
  9. // 检测$pst是字符串
  10. echo '$pst: is_string = ', var_export(is_string($pst), true), '<br />';
  11. // 检测$pst是布尔
  12. echo '$pst: is_bool = ', var_export(is_bool($pst), true), '<br />';
  13. // 检测$olt是数组
  14. echo '$olt: is_array = ', var_export(is_array($olt), true), '<br />';
  15. // 检测$obj是对象
  16. echo '$obj: is_object = ', var_export(is_object($obj), true), '<br />';
  17. // 检测$obj是null
  18. echo '$obj: is_null = ', var_export(is_null($obj), true), '<br />';
  19. // $obj是资源
  20. echo '$obj: is_resource = ', var_export(is_resource($obj), true), '<br />';
  21. // $obj是标量
  22. echo '$obj: is_scalar = ', var_export(is_scalar($obj), true), '<br />';

效果预览:

变量与常量的方式:

  1. 变量就是代码中需要暂存的数据,变量按名访问,变量名必须是一个合法的标识符,仅允许使用: 英文字母(a-z,A-Z),数字(0-9),下划线(_),禁止使用数字开头
  2. 标识符有二类: 预定义的: 保留字, 关键字
  3. 变量必须要用"$"为前缀,严格区分大小写

样式代码:

  1. // 1. 驼峰式 变量,对象的属性和方法
  2. $userName = '豪宅';
  3. $username = '别墅';
  4. echo $userName, ', ', $username, '<br>';
  5. // 2. 蛇形: set_public(),函数
  6. function setPublic($ev)
  7. {
  8. return 'Hello ysqsm ' . $ev;
  9. }
  10. echo setPublic('休息'),'<br>';
  11. // 3. 帕斯卡: UserModel, 类,与驼峰式很像,所以也叫: 大驼峰
  12. $SanHai = '上海';
  13. $BeiJin = '北京';
  14. echo $SanHai ,', ', $BeiJin, '<br>';
  15. //全大写: 常量
  16. // const: 关键字 声明常量
  17. const FIGURE = "小姐姐";
  18. const XINBIE = "女";
  19. printf('姓名: %s, 性别: %s<br>', FIGURE, XINBIE);
  20. echo '<br>';
  21. // define()创建常量
  22. function a() {
  23. define('ZSHY', 'Hello world (^_^)/早上好');
  24. }
  25. a();
  26. echo ZSHY , '<br>';
  27. if (true) {
  28. define('PAONIU', '泡妞了作业补全了没');
  29. }
  30. echo PAONIU;

效果预览:

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
Author's latest blog post