Blogger Information
Blog 24
fans 4
comment 0
visits 20140
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1月7日 学号:478291 PHP常量、数组与分支语句
Lin__
Original
709 people have browsed it

PHP常量

  • 可以看做是一个特殊的变量,常量在脚本执行期间值不能改变

  • 常量的命名规范同PHP标识符的命名规范相同:

    (1)由字母、数字、下划线组成,且不能以数字开头

    (2)区分大小写,推荐使用大写字母命名

    (3)两个以上的单词使用_分隔或使用驼峰命名法

  • 常量的范围是全局的。不用管作用区域就可以在脚本的任何地方访问常量。

  • 常量的定义

序号 方式 描述
1. define() 可定义常量,在类中不可使用,可使用表达式作为值
2. const 可定义常量,在类中可以使用,仅能使用字面量作为值
  • 使用:通过常量名可直接获取常量的值

  • 示例与运行结果

  1. <?php
  2. //正确的常量定义
  3. define('APP_NAME','Android APP');//等同于const APP_NAME='Android APP';
  4. echo APP_NAME.'<br />';
  5. define('_EMAIL','123@163.com');//等同于const _EMAIL='123@163.com';
  6. echo _EMAIL.'<br />';
  7. define('USER_HOST','http://'._EMAIL);
  8. echo USER_HOST.'<br />';
  9. class A{
  10. const CLASS_NAME = 'class A';
  11. }
  12. echo A::CLASS_NAME.'<br />';
  13. //错误的常量定义
  14. define('12',12);
  15. const USER_EMAIL = 'user_eamil'._EMAIL;
  16. class A{
  17. define('APP_NAME','Android APP');
  18. }

单引号、双引号与转义字符

  • 单引号:定义字符串,中间所有的内容都不会被解析,只会当做普通的字符进行输出

  • 双引号:定义字符串,可以解析变量与转义字符

    (1)如果不希望解析包含在其中的变量,可以在变量前添加\字符

    (2)如果变量后紧跟着英文字符,则变量需使用{}符号包裹

  • 转义字符:

字符 描述
\\ 代表\字符
\' 代表一个单引号
\" 代表一个双引号
\t 制表符,代表四个空格
\n 换行
  • 示例与运行结果:
  1. <?php
  2. $str1='123';
  3. $str2='1$str1\n';
  4. echo $str2.'<br />';
  5. $str3="hello $str1user";
  6. echo $str3.'<br />';
  7. $str4="hello {$str1}user";
  8. echo $str4.'<br />';
  9. $str5="hello ${str1}user";
  10. echo $str5.'<br />';
  11. $str6="hello \$str1";
  12. echo $str6;
  13. $str7="\"hello\tworld\"";
  14. echo $str7;

数组

  • 数组分类:

    (1)索引数组:键名为数值,默认从0开始

    (2)关联数组:键名为字符串,命名规范同PHP标识符的命名规范

  • 数组的创建:

    (1)使用array关键字:$变量名=array(元素1,元素2,元素3)或$变量名=array(‘键名1’=>元素1,’键名2’=>元素2,’键名3’=>元素3),若没有设置键名,默认创建的是索引数组

    (2)使用中括号来包裹数据:$变量名=[元素1,元素2,元素3]或$变量名=[‘键名1’=>元素1,’键名2’=>元素2,’键名3’=>元素3],若没有设置键名,默认创建的是索引数组

    (3)隐形定义数组:给变量增加一个中括号,系统自动变成数组。 $变量名[] = 值1或$变量名[键名] = 值 ,键名可以是数组或字符串,若没有设置键名,默认创建的是索引数组

  • 访问数组元素:

    (1)访问单个元素:$数组名[键名]

    (2)遍历数组:foreach($数组名 as $k=>$v){}或foreach($数组名 as $v){},其中:$k代表数组的键名,$v代表元素的值

  • 数组转变量:

    (1)索引数组转变量:list($变量名)=$数组名,变量的位置与数组中元素的位置一一对应

    (2)关联数组转变量:extract($数组名),键名会转换为变量名,元素值则为变量的值

    (3)变量转关联数组:compact(‘键名1’,’键名2’),键名同变量名

  • 数组转字符串: implode ( ‘连接符’ , $数组名 ) ,连接符表示将数据元素拼接在一起的符号

  • 字符串转数组:explode ( ‘分隔符’ , 字符串 )

  • 关联数组转索引数组: array_values (关联数组),该函数也可将不连续的索引数组重新设置为键名(下标)连续的数组

  • 示例与执行结果:

  1. <?php
  2. //定义索引数组
  3. $number_arr1 = array(1,2,3,4);//等同于$number_arr1 = array(0=>1,1=>2,2=>3,3=>4);
  4. var_dump($number_arr1);
  5. $number_arr2 = [5,6,7,8];//等同于$number_arr2 = [0=>5,1=>6,2=>7,3=>8];
  6. var_dump($number_ar2);
  7. $number_arr3[] = 9;//等同于$number_arr3[0] = 9;
  8. $number_arr3[] = 10;
  9. var_dump($number_arr3);
  10. echo '-------------------------------------<br />';
  11. //定义关联数组
  12. $string_arr1 = array('name'=>'Lin','sex'=>'女','eamil'=>'123@qq.com');
  13. var_dump($string_arr1);
  14. $string_arr2 = ['App_name'=>'php中文网','host'=>'php.cn'];
  15. var_dump($string_arr2);
  16. $string_arr3['date'] = '2020-01-07';
  17. $string_arr3['week'] = 'TuesDay';
  18. var_dump($string_arr3);
  19. echo '-------------------------------------<br />';
  20. //访问数组元素
  21. echo $string_arr1['name'].'的年龄是'.$number_arr3[1].'<br />';
  22. foreach($string_arr1 as $k=>$v){
  23. echo $k.'的值为'.$v.'<br />';
  24. }
  25. echo '-------------------------------------<br />';
  26. //数组转变量
  27. list($age1,$age2,$age3,$age4) = $number_arr1;
  28. echo $age1.','.$age2.','.$age3.','.$age4.'<br />';
  29. extract($string_arr3);
  30. echo $date.'是'.$week.'<br />';
  31. echo '-------------------------------------<br />';
  32. //变量转数组
  33. $company = 'PHP中文网';
  34. $address = '福建省福州市';
  35. $string_arr4 = compact('company','address');
  36. echo '-------------------------------------<br />';
  37. //数组转字符串
  38. $str1 = implode('>',$tring_arr4);
  39. echo $str1.'<br />';
  40. echo '-------------------------------------<br />';
  41. //字符串转数组
  42. $arr = explode('>',$str);
  43. var_dump($arr);
  44. echo '-------------------------------------<br />';
  45. //关联数组转索引数组
  46. $arr2 = array_values($string_arr);
  47. var_dump($arr2);

if分支语句

  • 按照条件执行代码片段
  • 语法:if(表达式) {语句},使用if语句时当表达式为真时,才执行语句;if(表达式) {语句} else{语句}使用if-else语句时当表达式为真时执行if的语句,当表达式为假时执行else的语句;if(表达式){语句 }else if(表达式){语句}…else{语句},if…else if …else语句先判断if的表达式是否为真。若为假,则判断else if的表达式,依次进行判断,当某处表达式为真,则输出该处的语句。若上面条件都不为真,则输出else的语句
  • elseif可以允许有多个,但ifelse只能有一个, if语句可以无限层地嵌套在其它if语句中
  • 示例与运行结果:
  1. <?php
  2. $count = 1;
  3. if($conut == 1){
  4. echo 'count的值是1<br />';
  5. }
  6. echo '-------------------------------------<br />';
  7. $count = 0;
  8. if($conut == 1){
  9. echo 'count的值是1<br />';
  10. }else{
  11. echo 'count的值不是1<br />';
  12. }
  13. echo '-------------------------------------<br />';
  14. $count = 3;
  15. if($conut == 1){
  16. echo 'count的值是1<br />';
  17. }else if($conut>1 && $count<4){
  18. echo 'count的值是'.$count.'<br />';
  19. }else{
  20. echo 'count的值不是1<br />';
  21. }

switch分支语句

  • 基于不同条件执行不同动作
  • 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块,通常应用于单值判断
  • 基本语法:switch($变量){case 表达式/值:代码块;break;default:代码块;break;},首先对一个变量进行一次计算。将值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

  • 示例与运行结果:

  1. <?php
  2. $status = 3;
  3. switch($status){
  4. case 1:
  5. echo '提交成功';
  6. break;
  7. case 2:
  8. echo '提交失败';
  9. break;
  10. default:
  11. echo '状态错误';
  12. }

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