Blogger Information
Blog 25
fans 1
comment 0
visits 12880
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php的数据类型与流程控制
xueblog9的进阶之旅
Original
483 people have browsed it

变量命名

  1. 默认:值传递
    1.1 变量名 = 值
    1.2 变量名2 = 变量名1—更新
  2. 引用传递
    2.1 变量名2 =&变量名1,变量名2更新时候,同时映射到变量名1,”&”取地址符

数据类型

  1. 基本类型:不可再分
    1.1 int(整数),float(浮点数),string(字符串),boolean(布尔值)
  2. 复合类型
    2.1 数组:[]
    2.2 对象:是个方法,格式:变量名=class
  3. null:赋值null,没赋值,被销毁unset()
  4. 资源类型:打开文件,对文件进行操作
  5. 回调类型:函数
    5.1 call_user_func(函数,参数列表),除了数值,其他均需要用引号包裹,包括函数
    5.2 call_user_func_array(函数,数组/名),支持数组传参
    5.3 call_user_func_array([对象实例名,函数名],数组/名),函数可来自对象方法
    5.4 call_user_func_array([类名,函数名],数组/名),函数可来自对象方法

流程控制

  1. 单分支-if(条件){动作}
  2. 双分支(三元运算符)if(条件){动作1;}else{动作2;},三元格式:条件?true:false
  3. 多分支(语法switch):if,elseif,多层嵌套,else默认值;
  4. &&:并列条件,||:或者条件

循环

  1. 循环的本质还是分支,while循环,for循环,与js一样,break(跳出循环),continue(跳过某次循环)
  2. 循环三要素
    2.1 条件初始化
    2.2 循环条件
    2.3 更新循环条件

数组遍历

  1. 索引数组:键名默认是从0开始递增的正整数(数值类型)
  2. 关联数组:键名是字符串(语义化)
  3. 数组的专用遍历语法:foreach($arr as $key => $value),key,value值可取其一
  4. 二维数组:每一个键的值是一个数组,foreach+table渲染到页面中

其他

count():对数组的元素进行计数
unset():清空变量值,清空完之后值为null
fopen():打开文件,参数:文件名,打开方式(r-读,w-写)

源码

  1. <?php
  2. $filename = 'xxx数据表';
  3. $filename2 = $filename;
  4. echo $filename.'<br>';
  5. echo $filename2;
  6. $filename2 = &$filename;
  7. $filename2 = 'xxx数据表2';
  8. echo $filename.'<br>';
  9. // 数据类型-回调类型:函数
  10. function sum(string $x, string $y){
  11. return $x + $y;
  12. };
  13. echo call_user_func_array('sum', [2,3]).'<br>';
  14. class demo {
  15. public function sum3(string $x, string $y){
  16. return $x * $y;
  17. }
  18. };
  19. $obj = new demo();
  20. echo call_user_func_array([$obj,'sum3'], [4,4]).'<br>';
  21. class demo2 {
  22. public static function sum2(string $x, string $y){
  23. return $x * $y;
  24. }
  25. };// static表示静态的类
  26. echo call_user_func_array(['demo2','sum2'], [3,3]).'<br>';
  27. // 单分支
  28. $score = 100;
  29. if($score >=60){
  30. echo '及格'.'<br>';
  31. };
  32. // 多分支
  33. if($score <60 && $score >= 0){
  34. echo '不及格';
  35. }elseif($score >=60 && $score < 70){
  36. echo '及格';
  37. }elseif($score >=70 && $score < 80){
  38. echo '良好';
  39. }elseif($score >=80 && $score < 90){
  40. echo '优秀';
  41. }elseif($score >=90 && $score <= 100){
  42. echo '非常优秀';
  43. }else{
  44. echo '值非法';
  45. };
  46. echo '<hr>';
  47. // switch
  48. $score = 101;
  49. switch(true){
  50. case $score <60 && $score >= 0:
  51. echo '不及格';
  52. break;
  53. case $score >=60 && $score < 70:
  54. echo '及格';
  55. break;
  56. case $score >=70 && $score < 80:
  57. echo '良好';
  58. break;
  59. case $score >=80 && $score < 90:
  60. echo '优秀';
  61. break;
  62. case $score >=90 && $score <= 100:
  63. echo '非常优秀';
  64. break;
  65. default:
  66. echo '值非法';
  67. };
  68. echo '<hr>';
  69. // 循环
  70. // while循环
  71. $i = 0;
  72. $a = 0;
  73. while($i <= 10){
  74. $a = $i+$a;
  75. $i++;
  76. };
  77. echo $a;
  78. echo '<hr>';
  79. // for循环
  80. for($i=0; $i<=11; $i++){
  81. $a = $i+$a;
  82. }
  83. echo($a);
  84. echo '<hr>';
  85. // 数组的遍历
  86. // 索引数组
  87. $arr = ['英雄','狗熊','打野','伤害',10000];
  88. print_r($arr);
  89. foreach($arr as $value){
  90. echo $value.'<br>';
  91. };
  92. echo '<hr>';
  93. // 关联数组
  94. $arr2 = ['位置'=>'双人路','英雄'=>'凯瑟琳','属性'=>'AD','伤害属性'=>'暴击加成'];
  95. foreach($arr2 as $key=>$value){ // 遍历时as后面一个参数,遍历的始终是值,而不是键
  96. echo $key.'<br>';
  97. echo $value.'<br>';
  98. };
  99. echo '<hr>';
  100. // 二维数组
  101. $arr3 = ['上单'=>['单人路','德莱厄斯','肉装','黑色切割者'],
  102. '中单'=>['中路','妖姬','法装','法师大帽'],
  103. '射手'=>['双人路','凯瑟琳','暴击输出','暴风大剑']];
  104. $tab = '<table >';
  105. $tab .= '<caption>出战列表</caption>';
  106. $tab .= '<thead><tr><th>分类</th><th>位置</th><th>英雄</th><th>出装</th><th>装备名</th></tr></thead>';
  107. $tab .= '<tbody>';
  108. foreach($arr3 as $key=>$value){
  109. // print_r($key);
  110. // print_r($value);
  111. $tab .= '<tr>';
  112. $tab .= '<td>'.$key.'</td>';
  113. $tab .= '<td>'.$value[0].'</td>';
  114. $tab .= '<td>'.$value[1].'</td>';
  115. $tab .= '<td>'.$value[2].'</td>';
  116. $tab .= '<td>'.$value[3].'</td>';
  117. $tab .= '</tr>';
  118. }
  119. $tab .= '</tbody>';
  120. $tab .= '</table>';
  121. echo $tab;
  122. echo '<hr>';
  123. ?>
  124. <?php
  125. $arr4 = [
  126. ['分类'=>'上单','位置'=>'单人路','英雄'=>'蒙多','出装'=>'肉装'],
  127. ['分类'=>'中单','位置'=>'中路','英雄'=>'妖姬','出装'=>'法术'],
  128. ['分类'=>'打野','位置'=>'野路','英雄'=>'盲僧','出装'=>'半肉'],
  129. ['分类'=>'辅助','位置'=>'双人路','英雄'=>'锤石','出装'=>'辅助装'],
  130. ['分类'=>'射手','位置'=>'双人路','英雄'=>'凯瑟琳','出装'=>'物理'],
  131. ]
  132. ?>
  133. <!DOCTYPE html>
  134. <html lang="zh-CN">
  135. <head>
  136. <meta charset="UTF-8">
  137. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  138. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  139. <title>Document</title>
  140. </head>
  141. <body>
  142. <style>
  143. table {
  144. border-collapse: collapse;
  145. text-align: center;
  146. }
  147. table th,
  148. table td {
  149. border: 1px solid black;
  150. padding: 3px;
  151. }
  152. table thead {
  153. background-color: green;
  154. }
  155. table caption {
  156. color: red;
  157. font-weight: 900;
  158. font-size: larger;
  159. }
  160. </style>
  161. <table>
  162. <caption>出战人员列表</caption>
  163. <thead>
  164. <tr>
  165. <th>分类</th>
  166. <th>位置</th>
  167. <th>英雄</th>
  168. <th>出装</th>
  169. </tr>
  170. </thead>
  171. <tbody>
  172. <!-- 常规写法 -->
  173. <?php
  174. foreach($arr4 as $value){
  175. if($value['分类'] === '辅助'){
  176. continue;
  177. };
  178. echo '<tr>';
  179. echo '<td>'.$value['分类'].'</td>';
  180. echo '<td>'.$value['位置'].'</td>';
  181. echo '<td>'.$value['英雄'].'</td>';
  182. echo '<td>'.$value['出装'].'</td>';
  183. echo '</tr>';
  184. };
  185. ?>
  186. <!-- 简略的写法 -->
  187. <?php foreach($arr4 as $value): ?>
  188. <?php if($value['分类'] != '辅助'):?>
  189. <tr>
  190. <td><?=$value['分类']?></td>
  191. <td><?=$value['位置']?></td>
  192. <td><?=$value['英雄']?></td>
  193. <td><?=$value['出装']?></td>
  194. </tr>
  195. <?php endif ?>
  196. <?php endforeach ?>
  197. </tbody>
  198. </table>
  199. </body>
  200. </html>

结果

Correcting teacher:PHPzPHPz

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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!