博客列表 >php基础知识-关于变量和打印输出的认识和理解

php基础知识-关于变量和打印输出的认识和理解

程东旭
程东旭原创
2020年04月16日 22:12:08673浏览

4月15日作业

1. 配置本地php运行环境

已配置到位

2. 将课件代码全部运行一遍,并添加注释

php代码

  1. <?php
  2. //demo1.php
  3. //求和函数
  4. function sum(int $a, int $b) : string
  5. {
  6. return "$a + $b = " .($a + $b) ;
  7. }
  8. //echo打印输出
  9. echo sum(30 , 50);
  10. echo '<hr>';
  11. //demo2.php
  12. //建立变量
  13. $email = 'chengdongxu@php.cn';
  14. //用echo打印变量输出,echo没有返回值
  15. echo $email , '<br>';
  16. //用print打印变量输出,print有返回值,为true或者1
  17. print $email . '<br>';
  18. //用var_export()打印输出,此打印方式可以输入该变量的类型和字符串的数量
  19. var_dump($email);
  20. echo '<hr>';
  21. //demo3.php
  22. //先建立2个英文单词一样但是区分大小写的变量名
  23. $username = 'chengdongxu';
  24. $userName = 'mafei';
  25. //打印输出2个区分大小写的变量名
  26. echo $username . '同事是' . $userName;
  27. //没有使用$开始的变量名是错误的,例如
  28. //hello = 'php';
  29. //变量名不允许用数字开头,例如
  30. //$111hello = 'php';
  31. //变量名中不允许使用特殊字符,例如
  32. //$email&& = 'admin@php.cn'
  33. //变量名尽可能寓意话,方便理解,有些变量名虽然正确但无意义,例如
  34. $aaa = 888;
  35. $_ = 360;
  36. $_123 = 850;
  37. echo '<hr>';
  38. //demo4.php
  39. //建立变量
  40. $var = 120;
  41. //打印变量
  42. var_dump($var);
  43. //再次建立一个变量名相同的变量
  44. $var = 'hello';
  45. //再次打印该变量,打印结果发生变化,以第二次建立的为准,说明变量的值发生了传递
  46. var_dump($var);
  47. echo '<hr>';
  48. //demo5.php
  49. //建立变量
  50. $name1 = 'chengdongxu';
  51. //建立第二个变量让等于第一个变量
  52. $name2 = $name1;
  53. //打印这2个变量,其实就是一个值
  54. echo $name1 . '其实就是' . $name2 , '<br>';
  55. //更新第一个变量名
  56. $name1 = 'laocheng';
  57. //再次打印这2个变量,$name1值被传递为新的值,但是$name2的值并没有发生变化,还是保持第一个$name1的值
  58. echo $name1 . '其实就是' . $name2 , '<br>';
  59. //$name2的值引用$name1
  60. $name2 = &$name1;
  61. //再次打印这2个变量,这个时候2个变量的值都被传递
  62. echo $name1 . '其实就是' . $name2 , '<br>';
  63. echo '<br>';
  64. //demo6.php
  65. //先创建二个变量
  66. $phone = 'number';
  67. $number = 18291893223;
  68. //当第二个变量名刚好等于第一个变量的值时,可以使用可变变量
  69. //打印可变变量,输出的是$number的值
  70. echo $$phone;
  71. echo '<br>';
  72. //demo7.php
  73. //这里是检测变量是否存在,如果存在就输入变量值,如果不在就不输出,当下由于没有建立变量,所以不会输出
  74. if (isset($name3)) echo $name3, '<br>';
  75. //建立一个变量
  76. $name3 = 'hanwei';
  77. //此时再次检测变量的时候已经会输出了
  78. if (isset($name3)) echo $name3, '<br>';
  79. //再销毁这个变量
  80. unset($name3);
  81. //再次检测这个变量是否存在,如果不存在,让输出"变量不存在",实际输出的是"变量不存在"
  82. if (isset($name3)){
  83. echo $name3, '<br>';
  84. }else{
  85. echo '变量不存在';
  86. }
  87. //建立一个变量值为null
  88. $name4 = null;
  89. //打印返回的是布尔值true
  90. var_dump(is_null($name4));
  91. if (is_null($name4)){
  92. echo '变量值为null';
  93. }else{
  94. echo $name4;
  95. }
  96. //建立一个值为空的变量
  97. $name5 = '';
  98. //打印返回的是布尔值是0
  99. var_dump($name5);
  100. //用函数empty检测,返回的是布尔值true
  101. var_dump(empty($name5));
  102. if (empty($name5)){
  103. echo '$name5的值为空';
  104. }else{
  105. echo $name5;
  106. }
  107. echo '<hr>';
  108. //demo8.php
  109. //字符串类型,例如
  110. $name6 = 'xiaohang';
  111. //数值类型,有整数int和小数float,例如
  112. $price = 100;
  113. //布尔值类型,有true和false,例如
  114. $name7 = true;
  115. $name8 = false;
  116. //复合类型中的对象类型
  117. $obj = new stdClass;
  118. //添加对象中的属性
  119. $obj->email = 'admin@php.cn';
  120. //打印输出对象
  121. echo $obj->email . '<br>';
  122. //数组类型
  123. $phone = [5000, 'red', '5G'];
  124. //格式化人性打印数组
  125. echo '<pre>' . print_r($phone, true). '</pre>';
  126. //特殊类型
  127. $num = null;
  128. //打印特殊类型,返回值是null
  129. var_dump($num);
  130. //资源类型,打开一个文件,'r'是用只读的方式打开
  131. $f = fopen('demo0.php', 'r');
  132. //打印输出资源类型
  133. var_dump($f);
  134. //查看$f的类型
  135. echo gettype($f), '<hr>';
  136. //验证资源类型
  137. if (gettype($f) === 'resource'){
  138. echo '我是资源类型';
  139. }else{
  140. echo '我不是资源类型';
  141. }

打印结果

3. 将以上代码发布到博客中, 并写出总结

自己的总结

1、打印输出的方式有3种

序号 指令/函数 描述
1 echo 只能打印字符串,没有返回值
2 print 可以打印数组,有返回值,返回值是true或false ,支持pre格式化打印
3 var_dump 打印输出包含变量的类型和变量的字符数量,不支持pre格式化打印,没有返回值

2、变量值的传递和引用的区别是被传递或引用的变量值前面是否有&
3、可变变量使用的前提是被引用的变量的值必须跟引用者的变量名保持一致
4、数据的类型分为以下3种

序号 类型 描述
1 基本类型 包括字符串、数值、布尔值
2 复合类型 包括对象、数组
3 特殊类型 包括null、资源类型

备注:前一段时间由于工作忙没顾上写html的作业,随后会一一补上;

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