运算符
<?php
//取摸/取余数
//取模/余数是指:第一次整除后剩余未能除尽的余数;
var_dump(58%2);
//+,-,*,/和++,--,又分为前和后;如前++和后++
echo "<hr>";
$a=50;
$b=6;
$c=$a+$b;
$d=$a-$b;
echo '$a+$b='.$c."<br>".'$a-$b='.$d;
echo '<hr>';
//$b先自增后赋值给$a。其他运算符也是同样道理。
$a=50;
$b=6;
$a=++$b;
echo $a;
echo "<br>";
//$a先加$b后赋值给$a
$a=50;
$b=6;
$a+=$b;
echo $a;
echo "<br>";
//后++。先赋值在自增1;
$a=50;
$b=6;
$a=$b++;
echo $a;
echo '<br>';
var_dump($a);
echo '<hr>';
$user=['20','小强','PHP'];
$table='<table border=1>';
$table .='<tr>';
$table .='<td>'.$user[0].'</td>';
$table .='<td>'.$user[1].'</td>';
$table .='<td>'.$user[2].'</td>';
$table .='</tr>';
//$table=$table.'<table>'; 下面是简写
$table .='<table>';
echo $table;
echo '<hr>';
//比较运算符;就是两个数相互比较是否>,<,=
var_dump(10>20);
echo '<br>';
if(10>20):
echo '正确';
else:
echo '错误';
endif;
//==(值相等),===(值和类型都要相等)
echo "<hr>";
//下面两种都为true
//if(10==10):
if(10=='10'):
echo '10+10';
else:
echo '输入有误';
endif;
echo '<hr>';
//第一个为false第二个为true
//if(10==='10'):
if(10===10):
echo '10=10';
else:
echo '输入有误';
endif;
echo '<hr>';
//逻辑与&& 运算符
//判断两个比较运算符,只要两个为true才为true
// if(3>4 && 6<5):
//if(3>2 && 6):
if(3>2 && 6<=6):
echo 'true';
else:
echo 'false';
endif;
echo '<hr>';
//?? 合并运算符
//从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。
$password="123";
$password='root' ?? $password;
//$password=$password ?? 'root';
echo $password;
分支结构
<?php
//if分支结构简写 && 只要一个为假,都为假
$money=90;
$age=100;
if($money<=100 && $age>=18):
echo "你的年龄不符合打折";
elseif($money<=100 && $age<18):
echo "你可以享受7折优惠<br>";
echo "你需要付款=".$money*0.7;
elseif($money>100 && $age<18):
echo "你需要付款=".$money*0.6;
endif;
//switch分支结构
echo '<hr>';
$age=20;
$money=90;
switch(1):
case $money>=100 && $age<=18:
$paymoney='该商品价格为:'.$money*0.8;
break;
case $money>=100 && $age>18:
$paymoney='该商品价格为:'.$money.'元。无打折商品';
break;
case $money<100 && $age<=18:
$paymoney='该商品价格为:'.$money*0.9;
break;
default:
die('该商品无折扣');
//$paymoney=$money;
endswitch;
echo $paymoney;
while和for循环语句
<?php
$cities=['广州','北京','重庆','武汉','天津'];
//current — 返回数组中的当前单元
//方法:current ( array &$array )
echo current($cities).'<br>';
//next进行下一个显示;
next($cities);
echo current($cities).'<br>';
//reset — 将数组的内部指针指向第一个单元
//表示重新去出数字元素,并重新从第一个数组开始取
reset($cities);
echo current($cities).'<br>';
next($cities);
echo current($cities).'<br>';
echo '<hr>';
//while循环打印出所有数组
//条件$citi=current($cities)
while($citi=current($cities)):
echo $citi.'<br>';
next($cities);
endwhile;
echo '<hr>';
//出口判断
//语法do{}while();
//这里需要重置指针reset()
reset($cities);
do{
$citi=current($cities);
echo $citi.'<br>';
next($cities);
}while($citi=current($cities));
echo '<hr>';
//使用for循环打印出数组
//count()统计数组有多少个
//echo count($cities);
for($i=0;$i<=count($cities);$i++):
echo $cities[$i].'<br>';
endfor;
reset($cities);
$cities=['广州','北京',false,'重庆',NULL,'武汉','天津'];
//echo count($cities);
//遇到假就直接跳出
while($citi=current($cities)):
echo $citi;
next($cities);
endwhile;
echo '<hr>';
for($i=0;$i<=count($cities);$i++):
//continue 在循环结构用用来跳过本次循环中剩余的代码并在条件求值为真时开始执行下一次循环。
if (!$cities[$i]) continue;
echo $cities[$i];
//如果===就到这里为结束跳出循环了。
if($cities[$i]==='武汉')break;
endfor;
总结:初学者还是要注意符号的运用,经常会出错。运算符和分支结构相对好理解一点。循环语句基本也能理解,就是运用起来感觉还是有点复杂的!