博客列表 >第2章 0126-细说变量与常量,课程笔记、心得(数据类型的转换与检测技术,实例演示; 变量声明与常用声明的方式与使用,实例演示)

第2章 0126-细说变量与常量,课程笔记、心得(数据类型的转换与检测技术,实例演示; 变量声明与常用声明的方式与使用,实例演示)

努力工作--周工--Robin
努力工作--周工--Robin原创
2021年02月14日 02:13:44678浏览

今天所学心得、笔记

示例代码截图

1、数据类型的转换

  1. // 1. 临时转换:用户
  2. $num = 123;
  3. var_dump($num, (string)$num, (float)$num);
  4. echo '<br>';
  5. var_dump((array)$num,((array)$num)[0]);
  6. echo '<br>';
  7. $str = 'php.com';
  8. var_dump((object)$str,((object)$str)->scalar);
  9. echo '<br>';
  10. var_dump($str);
  11. echo '<hr>';
  12. // 2. 自动转换: 系统
  13. echo 123 + '456';
  14. echo '<br>';
  15. echo 123 + '456php';
  16. echo '<br>';
  17. echo 'php' . 123 . '<br>';
  18. if (!isset($email)) echo '没定义邮箱';
  19. echo '<hr>';
  20. // 3. 永久转换: 只针对变量
  21. $price = 888;
  22. echo gettype($price), '<br>';
  23. // 永久转换
  24. settype($price, 'string');
  25. echo gettype($price), '<br>';
  26. echo '<hr>';

2、数据类型的检测技术

  1. // 1. is_numeric():检查参数是否是数值或数值型的字符串
  2. function sum1($a, $b) {
  3. if (is_numeric($a) && is_numeric($b))
  4. return sprintf('%d + %d = %d<br>', $a, $b, ($a + $b));
  5. else echo '参数类型错误<br>';
  6. }
  7. echo sum1('ff',200);
  8. echo sum1(100, "200");
  9. echo sum1(100,200);
  10. echo '<hr>';
  11. // 2. is_int():检查参数是否是int类型
  12. function sum2($a, $b) {
  13. if (is_int($a) && is_int($b))
  14. return sprintf('%d + %d = %d<br>', $a, $b, ($a + $b));
  15. else echo '参数类型错误<br>';
  16. }
  17. echo sum2(100.5,200);
  18. echo sum2(100, "200");
  19. echo sum2(100,200);
  20. echo '<hr>';
  21. // 3. float $a:检查参数是否是float类型
  22. function sum3(float $a,float $b) : string {
  23. return $a . ' + ' . $b . ' = ' . ($a + $b). '<br>';
  24. }
  25. echo sum3(100.5,200.3);
  26. echo sum3(100,200);
  27. echo '<hr>';
  28. // 4. is_scalar(): 检测变量类型是否是标量
  29. var_export(is_scalar(100));
  30. echo '<br>';
  31. var_export(is_scalar(new class{}));
  32. echo '<hr>';

3、变量、函数的声明

  1. // 变量除了要满足以上的要求外,还有特殊性
  2. // 1. 变量必须要用"$"为前缀: $name
  3. // 2. 严格区分大小写
  4. $userName = '齐天大圣';
  5. $username = '卷帘大将';
  6. echo $userName, ', ', $username, '<br>';
  7. // 函数不区分大小写
  8. function hello($name)
  9. {
  10. return 'Hello ' . $name;
  11. }
  12. echo hello('齐天大圣'),'<br>';
  13. echo HELLO('卷帘大将'),'<br>';
  14. echo '<hr>';

4、变量的赋值

  1. // 默认是"值传递"
  2. $price1 = 888;
  3. $price2 = $price1;
  4. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  5. $price1 = 666;
  6. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  7. echo '<hr>';
  8. // 引用赋值
  9. $price1 = 888;
  10. $price2 = &$price1;
  11. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  12. $price1 = 666;
  13. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  14. echo '<hr>';

5、预定义变量的使用

  1. echo 'IP: '. $_SERVER['REMOTE_ADDR']. '<br>';
  2. echo '浏览器: '. $_SERVER['HTTP_USER_AGENT']. '<br>';
  3. echo '脚本绝对路径 = '. $_SERVER['SCRIPT_FILENAME']. '<br>';
  4. echo '脚本相对路径 = '. $_SERVER['SCRIPT_NAME']. '<br>';
  5. echo '当前脚本名称 = '. $_SERVER['PHP_SELF']. '<br>';
  6. echo '<hr>';
  7. // http://php.io/0126/demo1.php?id=1&name=admin
  8. // 查询字符串,给GET请求用
  9. echo '查询字符串 : '. $_SERVER['QUERY_STRING']. '<br>';
  10. // http://php.io/0126/id/5/name/peter.html
  11. echo 'PATH_INFO = '. $_SERVER['PATH_INFO']. '<br>';
  12. echo 'URI: ' . $_SERVER['REQUEST_URI'], '<br>';
  13. //get方式获取id
  14. echo $_GET['id'];

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