博客列表 >PHP中的变量、数组和流程控制---PHP培训十期线上班

PHP中的变量、数组和流程控制---PHP培训十期线上班

Miss灬懒虫
Miss灬懒虫原创
2020年01月08日 14:31:12705浏览

PHP中的变量、数组和流程控制

PHP 常量

概述

  • 常量,是一种特殊变量,其命名不需要使用“$”符号,但是名称依然要遵循PHP变量的标识符规范;
  • 常量,是仅允许初始化一次(不允许更新)的“只读变量”;
  • 常量,没有作用域的限制,一般常用来表示状态或数据共享;
  • 常量的创建包括,使用define()函数创建变常量,define()函数创建的常量,其值可以是表达式;若使用const指令创建常量,其值只能是字面量;

运行效果

单、双引号的区别

PHP 数组

概述

  • 通过字面量创建,也就是将多个数组元素,放在一个对中括号[]内中,元素之间使用逗号分隔;
  • 通过赋值的方式,向数组中逐个添加/追加到数组中;
  • 根据数组的索引不同,可以将数组分为“索引数组”和“关联数组”;
  • 索引数组,是指数组的元素“键名”是数值的数组。如果索引数组的“键名”是连续的数值,则键名可以省略索引数组的默认是从0 开始的;
  • 关联数据组,是指数组的元素“键名”是字符串的数组(键名的命名依然遵循PHP的命名规范)。
  • 除了一维数组外,我们还会常用到二维数组,你可将他看做一个表格,外面的索引代表“行”,被包含数组的索引就是“列”;

运行效果

PHP 流程控制-分支控制

概述

  • if 单分支;
  • if - else 双分支;
  • if -elseif -else 多分支;
  • switch-case -break 多分支简化,多用于单值判断;

运行效果

PHP代码

  1. <?php
  2. /*1-PHP中的常量:
  3. 1.1常量,是一种特殊变量,其命名不需要使用“$”符号,但是名称依然要遵循PHP变量的标识符规范;
  4. 1.2常量,是仅允许初始化一次(不允许更新)的“只读变量”;
  5. 1.3常量,没有作用域的限制,一般常用来表示状态或数据共享;
  6. 1.4常量的创建:
  7. 1.4.1 使用define()函数创建变常量,define()函数创建的常量,其值可以是表达式;
  8. 1.4.2 使用const 指令创建常量,其值只能是字面量;
  9. **/
  10. //示例 1.1 define() 的使用
  11. $version = '7.3';
  12. //其常量赋值使用了表达式表示
  13. define('PHP_Version', 'Hello PHP! The Version is' . $version);
  14. echo 'PHP_Version:' . PHP_Version . '<br>';
  15. //其常量赋值使用字面量表示
  16. define('PHP_Version2', 'Hello PHP! The Version is NULL!');
  17. echo 'PHP_Version2:' . PHP_Version2 . '<br>';
  18. //示例 1.2 const 的使用
  19. const CONST_Ver='const 创建字面量';
  20. echo CONST_Ver.'<br>';
  21. /*2-PHP中单引号与双引号的使用
  22. 2.1单引号,内部的值会按照字面量,进行输出;
  23. 2.2双引号,内部的值,将会被解析,如果值中存在变量名或者特殊字符,则会被解析出来;
  24. */
  25. //示例 2.1 单引号
  26. $str='Ant蚂蚁体育';
  27. echo '$str 是一个体育品牌'.'<br>';
  28. //示例 2.2 双引号
  29. $str2='Ant蚂蚁体育';
  30. echo "$str2 是一个体育品牌".'<br>';
  31. //建议写法
  32. echo "{$str2}是一个体育品牌".'<br>';
  33. /*3-PHP中数组的创建
  34. 3.1通过字面量创建,也就是将多个数组元素,放在一个对中括号[]内中,元素之间使用逗号分隔;
  35. 3.2通过赋值的方式,向数组中逐个添加/追加到数组中;
  36. 3.3根据数组的索引不同,可以将数组分为“索引数组”和“关联数组”;
  37. 3.3.1 索引数组,是指数组的元素“键名”是数值的数组。如果索引数组的“键名”是连续的数值,则键名可以省略
  38. 索引数组的默认是从0 开始的;
  39. 3.3.2 关联数据组,是指数组的元素“键名”是字符串的数组(键名的命名依然遵循PHP的命名规范)。
  40. 3.4除了一维数组外,我们还会常用到二维数组,你可将他看做一个表格,外面的索引代表“行”,被包含数组的索引就是“列”;
  41. * */
  42. // 示例 3.1 字面量创建数组
  43. //索引数组
  44. $array_str=[1,2,3,4,5];
  45. //通过pre标签,将数组格式输出
  46. echo '<pre>'.print_r($array_str,true).'</pre><br>';
  47. echo '<br>';
  48. //关联数组
  49. $array_link=['link_id'=>106,'link_type'=>'JavaScript','link_name'=>'jQuery'];
  50. echo '<pre>'.print_r($array_link,true).'</pre><br>';
  51. echo '<br>';
  52. // 示例 3.2 赋值创建数组
  53. //索引数组
  54. $array_assign[]=107;
  55. $array_assign[]='PHP';
  56. $array_assign[]='laravel';
  57. echo '<pre>'.print_r($array_assign,true).'</pre><br>';
  58. echo '<br>';
  59. //关联数组
  60. $array_links['links_id']=109;
  61. $array_links['links_type']='HTML/CSS';
  62. $array_links['links_name']='JiUI';
  63. echo '<pre>'.print_r($array_links,true).'</pre><br>';
  64. echo '<br>';
  65. // 示例 3.3 访问数组中元素,$array_assign[]数组的第三个元素。
  66. //访问索引数组元素
  67. echo $array_assign[2].'<br>';
  68. echo '<br>';
  69. //访问关联数组元素
  70. echo $array_links['links_name'].'<br>';
  71. echo '<br>';
  72. // 示例 3.4 遍历数组
  73. //遍历索引数组
  74. echo '遍历索引数组<br>';
  75. foreach ($array_assign as $value){
  76. echo $value.','.'<br>';
  77. }
  78. echo '<br>';
  79. //遍历关联数组
  80. echo '遍历关联数组<br>';
  81. foreach ($array_links as $values){
  82. echo $values.','.'<br>';
  83. }
  84. echo '<br>';
  85. echo '遍历关联数组(含"元素键名")<br>';
  86. foreach ($array_links as $key=> $values){
  87. echo "{$key}=>{$values}<br>";
  88. }
  89. echo '<br>';
  90. // 示例 3.5 通过 list()和extract()语句,将数组中的元素,转换为单独的变量
  91. //索引数组
  92. echo '索引数组,转换为变量<br>';
  93. list($id,$type,$name)=$array_assign;
  94. echo "语言ID:{$id},语言类型:{$type},语言名称:{$name}<br>";
  95. echo '<br>';
  96. //关联数组
  97. echo '关联数组,转换为变量<br>';
  98. extract($array_links);
  99. //变量名默认是“关联数组”键名
  100. echo "语言ID:{$links_id},语言类型:{$links_type},语言名称:{$links_name}<br>";
  101. echo '<br>';
  102. // 示例 3.6 通过compact(),将变量转换为一个关联数组
  103. echo '通过compact(),将变量转换为一个数组<br>';
  104. $server_ip='192.168.1.76';
  105. $server_port=':8086';
  106. $server_str = compact('server_ip','server_port');
  107. echo '<pre>'. print_r($server_str,true) . '</pre>';
  108. // 示例 3.7 通过array_values(),将关联数组转化为索引数组
  109. $intArray=array_values($array_links);
  110. echo '<pre>'. print_r($array_links,true) . '</pre>';
  111. echo '<br>';
  112. // 示例 3.8 通过implode(),将数组拉平转化为字符串;
  113. //索引数组
  114. $assign_str=implode('#',$array_assign);
  115. echo $assign_str.'<br>';
  116. echo '<br>';
  117. // 示例 3.9 通过explode(),将字符串转化为数组;
  118. //索引数组
  119. $language_code='zh-CN,en-US,en-GB';
  120. $array_languagecode=explode(',',$language_code);
  121. echo '<pre>'.print_r($array_languagecode,true).'</pre>';
  122. echo '<br>';
  123. // 示例 3.8多维度数组
  124. //$account_info的索引是二维数组的“行”,嵌套数组的索引是二维数组的“列”;
  125. $account_info=[
  126. ['code'=>'P1','type'=>'部门主管','name'=>'小陈'],
  127. ['code'=>'P2','type'=>'职员','name'=>'小李'],
  128. ];
  129. //访问二数组的某个值
  130. echo $account_info[1]['name'], '<br>';
  131. //遍历二维数组内容元素
  132. foreach ( $account_info as $item) {
  133. echo "账号编码: {$item['code']},账号类型:{$item['type']},账号所有人:{$item['name']}<br>";
  134. }
  135. echo '<br><hr>';
  136. /*4-流程控制之 分支控制
  137. 4.1 if 单分支;
  138. 4.2 if - else 双分支;
  139. 4.3 if -elseif -else 多分支;
  140. 4.4 switch-case -break 多分支简化,多用于单值判断;
  141. * */
  142. //通用变量设置
  143. const GOOD_NAME='青椒';
  144. $number = 4;
  145. $discount = 1.0;
  146. $price = 4.68;
  147. // 示例 4.1 if单分支
  148. $number = 12;
  149. if($number>=10){
  150. $discount = 0.9;
  151. }
  152. $total=$price*$number*$discount;
  153. echo '商品名称:'.GOOD_NAME.',商品单价:'.$price.'元/公斤,
  154. 当前购买数量:'.$number.',当前折扣:'.$discount.',需支付总额:'.$total.'元';
  155. echo '<br><br>';
  156. // 示例 4.2 if - else 双分支
  157. $number = 8;
  158. if($number>=10){
  159. $discount = 0.9;
  160. }else{
  161. $discount = 1.0;
  162. }
  163. $total=$price*$number*$discount;
  164. echo '商品名称:'.GOOD_NAME.',商品单价:'.$price.'元/公斤,
  165. 当前购买数量:'.$number.',当前折扣:'.$discount.',需支付总额:'.$total.'元';
  166. echo '<br><br>';
  167. // 示例 4.3 if -elseif -else 多分支
  168. $number = 22;
  169. if($number>10 && $number<20){
  170. $discount = 0.9;
  171. }elseif($number>=20 && $number<30){
  172. $discount = 0.8;
  173. }elseif($number>30){
  174. $discount = 0.7;
  175. }else{
  176. $discount = 1.0;
  177. }
  178. $total=$price*$number*$discount;
  179. echo '商品名称:'.GOOD_NAME.',商品单价:'.$price.'元/公斤,
  180. 当前购买数量:'.$number.',当前折扣:'.$discount.',需支付总额:'.$total.'元';
  181. echo '<br><br>';
  182. // 示例 4.4 switch-case -break 多分支简化,多用于单值判断
  183. $number=35;
  184. switch ($number){
  185. case $number>10 && $number<20;
  186. $discount = 0.9;
  187. break;
  188. case $number>=20&& $number<30;
  189. $discount=0.8;
  190. break;
  191. case $number>=30;
  192. $discount=0.7;
  193. break;
  194. default:
  195. $discount = 1.0;
  196. }
  197. $total=$price*$number*$discount;
  198. echo '商品名称:'.GOOD_NAME.',商品单价:'.$price.'元/公斤,
  199. 当前购买数量:'.$number.',当前折扣:'.$discount.',需支付总额:'.$total.'元';
  200. echo '<br><br>';
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议