Blogger Information
Blog 22
fans 1
comment 0
visits 17698
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第十期PHP常量创建访问、数组的创建以及常用操作、流程控制分支(2020-01-07)
齐齐
Original
629 people have browsed it

1. PHP常量的创建与访问

1.1 PHP常量的创建方式一,通过函数define()创建,通过echo指令访问

  1. // PHP常量的推荐用大写字母
  2. // 创建常量通过define()函数方式
  3. define('ADD_PASH','/qiqi');
  4. echo ADD_PASH;

运行结果

1.2 PHP常量的创建方式二,通过const指令来创建常量,,通过echo指令访问

  1. // 通过const指令,命名常量
  2. const EMAIL="qiqi@qq.com";
  3. echo EMAIL;

运行结果

2. 双引号对变量和特殊字符的处理

  1. $email="qiqi";
  2. // 双引号能解析变量
  3. echo "$email",'@qq.com<br>';
  4. // 双引号能够解析特殊变量的值
  5. echo "this\tis\tdog<hr>";
  6. // 同样的变量和特殊字符,单引号解析不出来,只是原样输出
  7. // 单引号能解析变量
  8. echo '$email','@qq.com<br>';
  9. // 双引号能够解析特殊变量的值
  10. echo 'this\tis\tdog';

运行结果

3.索引数组与关联数组的常用操作

3.1 索引数组(索引值是数值,如连续可省去键名)

3.1.1 索引数组的创建分为2种,一是逐次增加,二是通过字面量的方式创建
  1. // 逐个增加的方式创建数组
  2. $arr[0]="苹果";
  3. $arr[1]="香蕉";
  4. $arr[2]="西瓜";
  5. $arr[3]="葡萄";
  6. print_r($arr);
  7. echo "<hr>";
  8. // 索引连续,可省略省略键名。追加的元素会直接加在最后
  9. $arr1[]="苹果";
  10. $arr1[]="香蕉";
  11. $arr1[]="西瓜";
  12. $arr1[]="葡萄";
  13. $arr1[]="橙子";
  14. print_r($arr1);
  15. echo "<hr>";
  16. // 字面量方式,一次增加多个元素。每个元素之间用逗号
  17. $arr3=['拖鞋','网鞋','运动鞋','高跟鞋','舞蹈鞋'];
  18. print_r($arr3);
  19. echo "<hr>";
  20. // 当print_r使用第二个参数时,不输出,返回给一个调用者,可以是一个变量来接收
  21. $resullt=print_r($arr3,true);
  22. echo "<pre>",$resullt,"</pre>";

运行结果

3.1.2 索引数组常用操作(数组单元素访问,遍历数组,数组与变量转换,索引数组转为字符串,字符串转为索引数组)
  1. // 数组的访问
  2. $arr3=['拖鞋','网鞋','运动鞋','高跟鞋','舞蹈鞋'];
  3. // 单独访问某一个元素,范围数组中的第三个元素
  4. echo $arr3[2];
  5. echo "<hr>";
  6. // 数组的遍历,foreach函数
  7. foreach($arr3 as $v){
  8. echo $v,'<br>';
  9. }
  10. echo "<hr>";
  11. // 索引数组与变量转换,list()
  12. list($shoes1,$shoes2,$shoes3,$shoes4)=$arr3;
  13. echo "鞋子分类有:$shoes1,$shoes2,$shoes3,$shoes4";
  14. echo "<hr>";
  15. // 索引数组转换为字符串,impload()
  16. // 用:作为字符串之间的间隔符
  17. $str=implode(":",$arr3);
  18. echo $str;
  19. echo "<hr>";
  20. // 查看转换后的值的类型
  21. echo gettype($str);
  22. echo "<hr>";
  23. // 将字符串变为索引数组,expload(),将之前的$str变回去
  24. // 将之前的分隔符:变为转为数组的切割符
  25. $arr=explode(":",$str);
  26. // 输出一个索引数组
  27. print_r($arr);
  28. echo "<hr>";
  29. // 查看转换后的值的类型
  30. echo gettype($arr);

运行结果

3.2 关联数组(键名索引名是字符串,必须用引号包裹起来)

3.2.1 关联数组和索引数组创建方式一样,分为字面量创建和单个逐步创建
  1. // 关联数组
  2. // 字面量创建
  3. $arr=['id'=>1,'name'=>'qiqi','age'=>30];
  4. echo "<pre>",print_r($arr,true),"</pre>";
  5. echo "<hr>";
  6. // 逐个增加创建
  7. $arr1['id']=2;
  8. $arr1['name']='qq';
  9. $arr1['age']='50';
  10. echo "<pre>",print_r($arr1,true),"</pre>";

运行结果

3.2.2 关联数组常用操作(数组单元素访问,遍历数组,关联数组与变量转换,独立变量组装关联数组)
  1. $arr=['id'=>1,'name'=>'qiqi','age'=>30];
  2. // 访问关联数组中的某一个字段值
  3. echo $arr['age'];
  4. echo "<hr>";
  5. // 遍历关联数组
  6. // 第一种,获得元素的值
  7. foreach($arr as $z)
  8. {
  9. echo $z,'<br>';
  10. }
  11. echo "<hr>";
  12. // 第二种,可输出键名值,以及对应的值
  13. foreach($arr as $k=> $z)
  14. {
  15. echo "['$k']=>$z",'<br>';
  16. }
  17. echo "<hr>";
  18. // 关联数组与变量转换 extract()
  19. extract($arr);
  20. // 自动生成变量$id,$name,$age,只需以上一步,就能直接访问,非常方便
  21. echo "['id']=>$id<br>['name']=>$name";
  22. echo "<hr>";
  23. // 将几个单独的变量,组装成一个关联数组
  24. $xing="张";
  25. $ming="里";
  26. $xm=compact('xing','ming');
  27. echo "<pre>",print_r($xm,true),"</pre>";
  28. echo "<hr>";
  29. // 关联数组转为索引数组
  30. $arr1=array_values($xm);
  31. echo "<pre>",print_r($arr1,true),"</pre>";

运行结果

4. 流程控制分支

4.1 单分支(if),双分支(if—else),多分支(if—elseif—else)

  1. // 流程控制分支
  2. // 单分支if
  3. // 考试成绩
  4. $achievement=60;
  5. if($achievement>=60)
  6. {
  7. echo "及格";
  8. }
  9. echo "<hr>";
  10. // 双分支
  11. $achievement=59;
  12. if($achievement>=60)
  13. {
  14. echo "及格";
  15. }
  16. else{
  17. echo "不及格";
  18. }
  19. echo "<hr>";
  20. // 多分支
  21. $achievement=75;
  22. if($achievement>=90)
  23. {
  24. echo "优秀";
  25. }
  26. elseif($achievement<90&&$achievement>=80)
  27. {
  28. echo "良好";
  29. }
  30. elseif($achievement<80&&$achievement>=69)
  31. {
  32. echo "中等";
  33. }
  34. elseif($achievement>=60)
  35. {
  36. echo "及格";
  37. }
  38. else{
  39. echo "不及格";
  40. }

运行结果

4.2 多分支简化版

  1. // 多分支简化版
  2. $nav=3;
  3. switch($nav){
  4. case 1:
  5. echo "首页";
  6. break;
  7. case 2:
  8. echo "关于我们";
  9. break;
  10. case 3:
  11. echo "产品中心";
  12. break;
  13. case 4:
  14. echo "新闻中心";
  15. break;
  16. case 5:
  17. echo "联系我们";
  18. break;
  19. default:
  20. exit('输入错误!');
  21. }
  22. echo "<hr>";
  23. // 当没有对应的值,显示输出错误
  24. $nav=7;
  25. switch($nav){
  26. case 1:
  27. echo "首页";
  28. break;
  29. case 2:
  30. echo "关于我们";;
  31. break;
  32. case 3:
  33. echo "产品中心";
  34. break;
  35. case 4:
  36. echo "新闻中心";
  37. break;
  38. case 5:
  39. echo "联系我们";
  40. break;
  41. default:
  42. exit('输入错误!');
  43. }

运行结果

5. 总结

5.1 常量的值只能设置一次,不允许更新。创建可以通过define()函数和const指令创建。前者值可以是表达式,后者值只能是字面量。

5.2 数组分为两种,索引数组和关联数组。创建数组的方式都分为,字面量和逐个增加的方式创建。区别在于键的值,是数值的为索引数组,是字符串的是关联数组。数组通过print_r()输出,echo只能输出类型。使用print_r()第二个参数将返回值变为字符串,再用html标签<pre>实现格式化数组样式。

5.3 遍历数组用foreach(),数组与变量的转换。索引数组用list(),关联数组用extract()。索引数组变为字符串用impload(),反向操作用expload()。将独立变量变为关联数组compact(),里面的参数为对应字符串键,不带$。关联数组转为索引数组array_values()

5.4 多分支多分支(if--elseif--else),推荐switch分支语句,简化结构更加清晰。

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