1. PHP常量的创建与访问
1.1 PHP常量的创建方式一,通过函数define()创建,通过echo指令访问
// PHP常量的推荐用大写字母
// 创建常量通过define()函数方式
define('ADD_PASH','/qiqi');
echo ADD_PASH;
运行结果
1.2 PHP常量的创建方式二,通过const指令来创建常量,,通过echo指令访问
// 通过const指令,命名常量
const EMAIL="qiqi@qq.com";
echo EMAIL;
运行结果
2. 双引号对变量和特殊字符的处理
$email="qiqi";
// 双引号能解析变量
echo "$email",'@qq.com<br>';
// 双引号能够解析特殊变量的值
echo "this\tis\tdog<hr>";
// 同样的变量和特殊字符,单引号解析不出来,只是原样输出
// 单引号能解析变量
echo '$email','@qq.com<br>';
// 双引号能够解析特殊变量的值
echo 'this\tis\tdog';
运行结果
3.索引数组与关联数组的常用操作
3.1 索引数组(索引值是数值,如连续可省去键名)
3.1.1 索引数组的创建分为2种,一是逐次增加,二是通过字面量的方式创建
// 逐个增加的方式创建数组
$arr[0]="苹果";
$arr[1]="香蕉";
$arr[2]="西瓜";
$arr[3]="葡萄";
print_r($arr);
echo "<hr>";
// 索引连续,可省略省略键名。追加的元素会直接加在最后
$arr1[]="苹果";
$arr1[]="香蕉";
$arr1[]="西瓜";
$arr1[]="葡萄";
$arr1[]="橙子";
print_r($arr1);
echo "<hr>";
// 字面量方式,一次增加多个元素。每个元素之间用逗号
$arr3=['拖鞋','网鞋','运动鞋','高跟鞋','舞蹈鞋'];
print_r($arr3);
echo "<hr>";
// 当print_r使用第二个参数时,不输出,返回给一个调用者,可以是一个变量来接收
$resullt=print_r($arr3,true);
echo "<pre>",$resullt,"</pre>";
运行结果
3.1.2 索引数组常用操作(数组单元素访问,遍历数组,数组与变量转换,索引数组转为字符串,字符串转为索引数组)
// 数组的访问
$arr3=['拖鞋','网鞋','运动鞋','高跟鞋','舞蹈鞋'];
// 单独访问某一个元素,范围数组中的第三个元素
echo $arr3[2];
echo "<hr>";
// 数组的遍历,foreach函数
foreach($arr3 as $v){
echo $v,'<br>';
}
echo "<hr>";
// 索引数组与变量转换,list()
list($shoes1,$shoes2,$shoes3,$shoes4)=$arr3;
echo "鞋子分类有:$shoes1,$shoes2,$shoes3,$shoes4";
echo "<hr>";
// 索引数组转换为字符串,impload()
// 用:作为字符串之间的间隔符
$str=implode(":",$arr3);
echo $str;
echo "<hr>";
// 查看转换后的值的类型
echo gettype($str);
echo "<hr>";
// 将字符串变为索引数组,expload(),将之前的$str变回去
// 将之前的分隔符:变为转为数组的切割符
$arr=explode(":",$str);
// 输出一个索引数组
print_r($arr);
echo "<hr>";
// 查看转换后的值的类型
echo gettype($arr);
运行结果
3.2 关联数组(键名索引名是字符串,必须用引号包裹起来)
3.2.1 关联数组和索引数组创建方式一样,分为字面量创建和单个逐步创建
// 关联数组
// 字面量创建
$arr=['id'=>1,'name'=>'qiqi','age'=>30];
echo "<pre>",print_r($arr,true),"</pre>";
echo "<hr>";
// 逐个增加创建
$arr1['id']=2;
$arr1['name']='qq';
$arr1['age']='50';
echo "<pre>",print_r($arr1,true),"</pre>";
运行结果
3.2.2 关联数组常用操作(数组单元素访问,遍历数组,关联数组与变量转换,独立变量组装关联数组)
$arr=['id'=>1,'name'=>'qiqi','age'=>30];
// 访问关联数组中的某一个字段值
echo $arr['age'];
echo "<hr>";
// 遍历关联数组
// 第一种,获得元素的值
foreach($arr as $z)
{
echo $z,'<br>';
}
echo "<hr>";
// 第二种,可输出键名值,以及对应的值
foreach($arr as $k=> $z)
{
echo "['$k']=>$z",'<br>';
}
echo "<hr>";
// 关联数组与变量转换 extract()
extract($arr);
// 自动生成变量$id,$name,$age,只需以上一步,就能直接访问,非常方便
echo "['id']=>$id<br>['name']=>$name";
echo "<hr>";
// 将几个单独的变量,组装成一个关联数组
$xing="张";
$ming="里";
$xm=compact('xing','ming');
echo "<pre>",print_r($xm,true),"</pre>";
echo "<hr>";
// 关联数组转为索引数组
$arr1=array_values($xm);
echo "<pre>",print_r($arr1,true),"</pre>";
运行结果
4. 流程控制分支
4.1 单分支(if),双分支(if—else),多分支(if—elseif—else)
// 流程控制分支
// 单分支if
// 考试成绩
$achievement=60;
if($achievement>=60)
{
echo "及格";
}
echo "<hr>";
// 双分支
$achievement=59;
if($achievement>=60)
{
echo "及格";
}
else{
echo "不及格";
}
echo "<hr>";
// 多分支
$achievement=75;
if($achievement>=90)
{
echo "优秀";
}
elseif($achievement<90&&$achievement>=80)
{
echo "良好";
}
elseif($achievement<80&&$achievement>=69)
{
echo "中等";
}
elseif($achievement>=60)
{
echo "及格";
}
else{
echo "不及格";
}
运行结果
4.2 多分支简化版
// 多分支简化版
$nav=3;
switch($nav){
case 1:
echo "首页";
break;
case 2:
echo "关于我们";
break;
case 3:
echo "产品中心";
break;
case 4:
echo "新闻中心";
break;
case 5:
echo "联系我们";
break;
default:
exit('输入错误!');
}
echo "<hr>";
// 当没有对应的值,显示输出错误
$nav=7;
switch($nav){
case 1:
echo "首页";
break;
case 2:
echo "关于我们";;
break;
case 3:
echo "产品中心";
break;
case 4:
echo "新闻中心";
break;
case 5:
echo "联系我们";
break;
default:
exit('输入错误!');
}
运行结果