1.运算符的相关知识
1.1数学运算符 + - / %求余 *幂的运算
<?php
$a = 2;
$b =4 ;
echo ($a + $b*$a)/2 -$b%2;
echo 2**4;
1.2自增运算符++ 自减运算符—
<?php
//++ 自增运算符
$a = 2;
$b = 2;
//$a++ 相当于 先调用$a的值,再进行$a = $a + 1
echo $a++;
//++$b 相当于 第一步$b = $b + 1 第二步再调用$b的值
echo ++$b;
1.3赋值运算符 += -= *= /= 字符串拼接运算符.=
<?php
$a = 2;
$b = 2;
//$a = $a + $b 等同于 $a += $b
echo $a += $b;
//字符串拼接.=
$str = '<h1>';
$str.='这里是标题';
$str.='</h1>';
echo $str;
1.4字符串拼接运算符.
<?php
$name ='张三';
$age = '25';
echo $name.'的年龄是'.$age;
1.5 等性运算符== 与 ===
<?php
//== 不关心数据类型,只关心数据值是否相等,值相等就返回ture
//=== 不仅要类型相同,值也得相等才会返回ture
$a = 2;
$b = '2';
if ($a === $b) :
echo '类型相同,值相等';
elseif ($a == $b) :
echo '类型不同,二者的值相等';
else :
echo '类型不相等,值也不相等';
endif;
1.6 php7+ 太空船运算符 <=>
<?php
$a = 3;
$b = 3;
//如果 a>b 返回1,如果a<b 返回-1,如果a=b 返回0
echo $a<=>$b;
1.7 逻辑运算符 && 与 || 或 !取反
<?php
$name = '李四';
if((!($name==='张三')) && isset($name)){
echo '此人不是张三';
}
1.8 三元运算符与null合并
<?php
$age = 18;
echo $age >= 18 ? '成年':'未成年';
//null 合并运算符
$name = '张三';
echo $name ?? '不存在该人';
1.9 字符串插值
双引号和单引号的区别:双引号内可以解析变量
<?php
$age = 18;
$name = '张三';
echo"{$name}的年龄是{$age}\n和李四一般大",'<br />';
// \n 在html里表示空格,如果需要将转义字符\n打印出来,需要使用nl2br()函数
echo nl2br("{$name}的年龄是{$age}\n和李四一般大\n");
// heredoc 双引号的替代语法
$nav = <<< "SHOW"
<ul>
<li>我是{$name}</li>
<li>我是李四</li>
<li>我是王五</li>
</ul>
SHOW;
//末尾的SHOW一定要定格写
echo $nav;
// nowdoc 单引号的替代语法
$nav2 = <<< 'SHOW'
<ul>
<li>我是张三</li>
<li>我是李四</li>
<li>我是王五</li>
</ul>
SHOW;
echo $nav2;
2.分支判断与循环_替换语法
<?php
//2.1单分支
$age = 11;
if ($age < 12) {
print '我是小学生';
}
//替代语法
if ($age < 12) :
print '我是小学生';
endif;
//2.2双分支
$score = 80;
if ($score > 60) {
echo '及格';
} else {
echo '不及格';
}
//替代语法
if ($score > 60) :
echo '及格';
else :
echo '不及格';
endif;
//2.3多分支if
if ($score < 60) {
echo '不及格';
} elseif ($score < 80) {
echo '及格';
} else {
echo '良好';
}
//替代语法
if ($score < 60) :
echo '不及格';
elseif ($score < 80) :
echo '及格';
else :
echo '良好';
endif;
//2.4多分支switch(主要用于单值判断)
switch ($score) {
case $score < 60:
echo '不及格';
break;
case $score < 80:
echo '及格';
break;
case $score < 100:
echo '良好';
break;
default:
echo '数据错误';
}
//替换语法
switch ($score):
case $score < 60:
echo '不及格';
break;
case $score < 80:
echo '及格';
break;
case $score < 100:
echo '良好';
break;
default:
echo '数据错误';
endswitch;
//2.5循环while
$i = 0;
while($i < 10){
echo $i;
$i++;
}
//替代语法
while($i < 10):
echo $i;
$i++;
endwhile;
//2.6循环for
for($i = 0; $i < 10; $i++){
echo $i;
}
//替代语法
for($i = 0; $i < 10; $i++):
echo $i;
endfor;
3.文件包含include、require
文件包含的本质是代码复用。
include和require的区别是,当执行失败时,include会继续往下执行,而require不会,会停止运行。建议使用require,可以更好的发现bug并修正。
用在模块化编程,比如:可用于引用数据库连接配置文件。