运算符
什么是表达式?
有操作数 和 操作符组成,并返回一个确切的值的程序短语
算术
- % 取模 也叫取余,余数一定是整数。
- ++
++$a,先执行 $a=$a+1 后,再用$a。
$a++,先用 $a,再执行 $a=$a+1 - 次方
2的3次方2**3
== 是只比较值 ====比较值和地址完全相同
5.太空船符号<=>
比较两个值大小,前值比后值大则返回1,小则返回-1 相等返回0$a=35;
$b=23;
if($a<$b){
echo -1;
}elseif($a>$b){
echo 1;
}
else{
echo 0;
}
// 简化为 $a<=>$b;
- && 与 || 或 ! 非
- && 全为真 才返回真
- || 只要有一个为真,就返回真
- ! 取反值
- null 合并运算符 ?代表自身值
$age=$number?$number:0;
// 简化为
$age=$number??0;
8.字符串插值
\n 换行 , \r回车 \t tab \ \$
$name="姓:{$firstName}\n名:{$lastName}";
//nl2br()在 \n 前面自动插入 <br>
$name=nl2br("姓:{$firstName}\n名:{$lastName}");
9.””双引号会解析变量,’’单引号不解析变量
heredoc:双引号字符串替代语法.比较适合输出大量的多行的内部存在变量的html代码且不用转义
$p=<<<"SHOW"
<h2>你好</h2>
<p>
姓名:{$name}
</p>
SHOW;
echo $p;
//SHOW:show是自定义名称.必须写到第一列,起始名称必须一致
流程控制
/单分支
$number=25;
if($number>=18){
echo '成年了!';
}
//替代语法
//目标干掉大括号
if($number>=18):
echo '成年了!';
endif;
//双分支
$number=25;
if($number>=18){
echo '成年了!';
}else{
echo '未成年!';
}
if($number>=18):echo '成年了!';else :echo '未成年!';endif;
// 分支简化是将大括号去掉改为 if(): endif;样式
switch
$xingqi=4;
switch($xingqi){
case 1:echo '星期一';
break;
case 2: echo '星期二';
break;
case 3: echo '星期三';
break;
case 4:echo '星期四';
break;
case 5: echo '星期五';
break;
case 6: echo '星期六';
break;
case 7: echo '星期日';
break;
}
// 简化为
switch($xingqi):case 1:echo '星期一';case 2:echo '星期二';endswitch;
//switch更多用在单值判断
循环结构
// 循环条件的初始值
// 循环条件
// 更新循环条件
$xingqi=['星期一','星期二','星期三','星期四','星期五'];
$i=0;
while($i<count($xingqi)){
echo $xingqi[$i];
$i++;
}
// do{}while() 形式
$i=0;
do{
echo $xingqi[$i];
$i++;
}while($i<count($xingqi));
//for型
for($i=0;$i<count($xingqi);$i++){
echo $xingqi[$i];
}
continue break 语句
for($i=0;$i<count($xingqi);$i++){
if($i===3) continue;
echo $xinigqi[$i];
}
遍历数组
foreach($xingqi as $k=>$v){
echo $k.'----'.$v;
}
文件包含
include 和 require 包含语句
- include:将一个外部的文档插入到当前的代码块中。include 是在运行阶段包含,所以可以用在 if 中。特点:有错误也会继续执行
- require 文件路径;有错误就终止执行了
require适合用在开发模式中