博客列表 >0107作业:PHP初入门-常量、数组和流程分支

0107作业:PHP初入门-常量、数组和流程分支

十年一梦
十年一梦原创
2020年01月09日 16:52:49809浏览

0107作业:PHP初入门-常量、数组和流程分支

1、PHP中的常量

  • 常量是一种特殊的变量,只允许创建,不允许更新,就像身份证号,人一生只能有一个号;
  • 常量没有作用域限制,经常用于表示状态,或数据共享,就像身份证号,可以买车票,也可以开房;
  • 常量不是变量,所以不需要美元$开头,但是仍然要遵循php 标识符的命名规范;
  • 常量的创建;
  • 函数:define();

php代码示例:

  1. define('WEB_NAME','php中文网');

示例图

  • 指令:const = '值'

    php 代码示例

  1. const WEB_URL = 'https://www.php.cn';
示例图

  • 区分define()const;

  • 相同:都可以创建常量;

  • 不同:

  • define()定义常量可以使用表达式,const只能是字面量;

    define() 代码示例

    1. $city = '100101'; //城市编码
    2. $dateBirth = '20200101'; //出生日期
    3. $discern = '3869'; //识别码
    4. //创建一个身份证号的常量 ID_CARD
    5. define('ID_CARD', $city . $dateBirth . $discern);
    6. echo ID_CARD;

define() 示例图

const代码示例

  1. $city = '100101'; //城市编码
  2. $dateBirth = '20200101'; //出生日期
  3. $discern = '3869'; //识别码
  4. //创建一个身份证号的常量 ID_CARD
  5. const ID_CARD = $city . $dateBirth .$discern ; //不能用表达式创建常量,会报错
  6. echo ID_CARD;

const 示例图

  • define() 不能创建类常量,const可以创建类常量;

define() 代码示例

  1. class NAME {
  2. define('FAMILY_NAME','LI');//不能创建类常量,报错;
  3. }
  4. echo echo NAME::FAMILY_NAME

define() 示例图

const 代码示例

  1. class NAME
  2. {
  3. const FAMILY_NAME = 'CHINA';
  4. }
  5. echo NAME::FAMILY_NAME;

const 示例图


2、单引号和双引号

  • 单引号内部的值会按字面量输出;
  • 双引号会解析变量特殊字符

示例图


3、数组的基本操作

3.1、创建数组

  • 字面量:将多个元素放在一个[]中,多个元素用,隔开,组成一个数组;
php 代码示例
  1. $arr1 = [1,2,3,4];
  • 逐个追加:把单个元素通过赋值的方式添加/追加到数组中;
php 代码示例
  1. $arr2 = [0=>1,1=>2,2=>3,3=>4];

两种方法示例图

  • 如果数组元素的键名是数值,就是索引数组,如果键名是连续的,键名可以省略;
php 代码示例
  1. $arr1 = [1,2,3,4];//是一个省略了键名的索引数组
  • 创建索引数组:用数组名[键名] = 值;的方式创建
php 代码示例
  1. $student[0] = '小明';
  2. $student[1] = '16岁';
  3. $student[2] = '高一';
  4. //注意:在这个地方键名是可以省略的;
  5. $student[] = '小明';
  6. $student[] = '16岁';
  7. $student[] = '高一';
  8. //也可以使用字面量一次创建
  9. $student = ['小明','16岁','高一'];
示例图

  • 索引数组的访问:用数组名[键值];的方式访问
    php 代码示例
    1. echo $student[1];
示例图

  • 索引数组的遍历

  • foreach 遍历;

php 代码示例
  1. $student = ['小明','16岁','高一'];
  2. foreach($student as $item){
  3. echo $item;
  4. }

示例图

  • 数组元素与变量之间的转换,通常mvc模板赋值

php 代码示例

  1. $student = ['小明','16岁','高一'];
  2. list($name,$age,$grade) = $student;
  3. echo "name=>$name,age=>$age,grade=>$grade";

示例图

  • 将索引数组转换为字符串,拉平一个数组,存到数据表中,

  • 用法:字符串名字 = implode('分隔符', 转换的数组);

php 代码示例

  1. $student = ['小明','16岁','高一'];
  2. $str = implode(',',$student);
  • 将字符串转换为索引数组,

  • 用法:数组名字 = explode('分隔符', 字符串名字);

php 代码示例

  1. $str = '小明,16岁,高一';
  2. $arr = explode(',',$str);

示例图


  • 2、关联数组

  • 键名采用语义化的字符串,不在依赖于元素在数组中的位置

php 代码示例

  1. $student5['name'] = '小明';
  2. $student5['age'] = '16岁';
  3. $student5['grade'] = '高一';
  4. //可以通过字面量一次创建
  5. $student6 = ['name'=>'小明', 'age'=>'16岁', 'grade'=>'高一'];

示例图

  • 遍历关联数组

php 代码示例

  1. foreach ($student6 as $value){
  2. echo $value , '<br>';
  3. }
  4. //带上键名遍历
  5. foreach ($student6 as $key=>$value){
  6. echo "['$key'] => $value <br>";
  7. }

示例图

  • 关联数组和变量之间的转换

  • 转换为变量;extract(数组名)

  • 变量组装数组;compact(变量1,变量2,变量3,

php 代码示例

  1. $atr6 = extract($student6)
  2. //把变量组装成关联数组
  3. $student7 = compact('name','age','grade');

示例图

  • 把关联数组转为索引数组:索引数组名字 = array_values(关联数组名字);

php 代码示例

  1. $student6 = ['name'=>'小明', 'age'=>'16岁', 'grade'=>'高一'];
  2. $student8 = array_values($student6);

示例图

  • 3、多维数组

  • 数组元素,除了原始类型,也可以是一个数组

php 代码示例

  1. $student9 = [
  2. ['小明','16岁','高一'],
  3. ['小张','17岁','高二'],
  4. ['小王','15岁','初三'],
  5. ];

示例图

  • 读取多维数据库的值;数组名[键名][‘取值的键名’]就可以去除第键值为1的数组中 name的值;

php代码示例

  1. $student9 = [
  2. ['小明','16岁','高一'],
  3. ['小张','17岁','高二'],
  4. ['小王','15岁','初三'],
  5. ];
  6. $student9[1]['name'];

示例图

  • 遍历多维数组

php 代码示例

  1. $student9 = [
  2. ['小明','16岁','高一'],
  3. ['小张','17岁','高二'],
  4. ['小王','15岁','初三'],
  5. ];
  6. foreach ($student9 as $items) {
  7. // print_r($user);echo '<br>';
  8. echo "name=>${items['name']}, age=>${items['age']}, grade=>${items['grade']} <br>";
  9. }

示例图


流程控制之分支

1、单分支

php 代码示例

  1. $fraction = 90;
  2. if($fraction >= 80 && $fraction <= 100){
  3. echo '优秀';
  4. }

示例图

多分支

  • if 判断

php 代码示例

  1. $fraction = 98;
  2. if($fraction >= 80 && $fraction <= 100){
  3. echo '优秀';
  4. }elseif ($fraction >= 70 && $fraction < 80){
  5. echo '良好';
  6. }elseif ($fraction >= 60 && $fraction < 70){
  7. echo '及格';
  8. }else{
  9. echo '不及格';
  10. }

示例图

  • switch 判断

php 代码示例

  1. $num = 4 ;
  2. switch ($num){
  3. case 1:
  4. echo "你就是1";
  5. break;
  6. case 2:
  7. echo "你就是2";
  8. break;
  9. case 3:
  10. echo "你就是3";
  11. break;
  12. default:
  13. exit("没有你选的数字");
  14. }

示例图


总结

  • 常量是不变的,有通用的属性;

  • 数组是有组织的,索引是有号的,关联是有名的;

  • 判断是有条件的,满足就给你,不满足就默认;

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