博客列表 >第十期PHP常量创建访问、数组的创建以及常用操作、流程控制分支(2020-01-07)

第十期PHP常量创建访问、数组的创建以及常用操作、流程控制分支(2020-01-07)

齐齐
齐齐原创
2020年01月08日 22:17:27619浏览

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分支语句,简化结构更加清晰。

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