操作符
1.比较运算符
var_dump(10 > 20);//返回flase
// "==" 值比较,当前操作符两边操作类型不一致,会触发类型的自动转换主要体现在数值上
var_dump(50 == '50');//返回true
// "===" 值比较,当前操作符两边的值和操作类型必须一致才返回true
var_dump(50 === '50');//返回flase
// 太空船运算符(推荐)
var_dump(50 <=> 40);//返回(1)代表左边的数值大
var_dump(40 <=> 50);//返回(-1)代表右边的数值大
var_dump(50 <=> 50);//返回(0)代表两边的数值一样
2.逻辑运算符
// "&&"逻辑与运算符:两边表达式除非全部为true,否则返回flase
var_dump((20>10) && (10<5));//返回flase
// "||"逻辑或运算符:两边表达式只要有一个为true,就返回true
var_dump((20>10) || (10<5));//返回true
// "!"逻辑非运算符:表达式为true时返回flase,表达式为flase时返回true
var_dump (!((20>10) || (10<5)));//返回flase
// "Xor"逻辑异或运算符:表达式有且只有一个true,返回true否则返回flase
var_dump((20>10) Xor (10>5));//返回flase
var_dump((20>10) Xor (10<5));//返回true
// 如果第一个表达式为flase,则会直接执行else分支,不会再去计算第二个表达式
if ($name && $name === 'admin'){
echo $name.'欢迎您';
}else {
echo '对不起您还未登录','<hr>';
}//返回'对不起您还未登录'
// 定义了变量那么第一个表达式为true时,才会去计算第二个表达式的布尔值
$name = 'adm';
if ($name && $name === 'admin'){
echo $name.'欢迎您';
}else {
echo '对不起您还未登录','<hr>';
}//返回'对不起您还未登录'
// 定义变量
$name = 'admin';
if ($name && $name === 'admin'){
echo $name.'欢迎您','<hr>';
}else {
echo '对不起您还未登录';
}//返回'admin欢迎您'
3.三元运算符
// 三元运算符
// 三元:是指由三个表达式,以为着有两个操作符
// 简化短路求值代码
echo ($name && $name === 'admin') ? $name.'欢迎您':'对不起您还未登录','<hr>';
$name = 'admin';
echo ($name && $name === 'admin') ? $name.'欢迎您':'对不起您还未登录';
$name = 'admin'.'欢迎您';
echo $name ?? '对不起您还未登录';
分支控制
1. 双分支
// 获取随机数
$num = rand(1,10);
if($num<2) {
$check = '您点数为'.$num.',恭喜您中了一等奖';
}else{
$check = '您点数为'.$num.',很遗憾您没有中奖';
}
echo $check;
2.多分支
$num = rand(1,10);
if($num == 1) {
$check = '您点数为'.$num.',恭喜您中了一等奖';
}elseif($num == 2){
$check = '您点数为'.$num.',恭喜您中了二等奖';
}elseif($num == 3){
$check = '您点数为'.$num.',恭喜您中了三等奖';
}elseif($num>3){
$check = '您点数为'.$num.',很遗憾您没有中奖';
}
echo $check;
3.switch(简化多分支)
$num = rand(1,10);
switch($num) {
case 1:
$check = '您点数为'.$num.',恭喜您中了一等奖';
break;
case 2:
$check = '您点数为'.$num.',恭喜您中了二等奖';
break;
case 3:
$check = '您点数为'.$num.',恭喜您中了三等奖';
break;
default:
$check = '您点数为'.$num.',很遗憾您没有中奖';
}
echo $check;
$num = rand(1,10);
if($num == 1) :
$check = '您点数为'.$num.',恭喜您中了一等奖';
elseif($num == 2):
$check = '您点数为'.$num.',恭喜您中了二等奖';
elseif($num == 3):
$check = '您点数为'.$num.',恭喜您中了三等奖';
elseif($num>3):
$check = '您点数为'.$num.',很遗憾您没有中奖';
endif;
echo $check;
循环控制
$arr = ['南昌','赣州','九江','吉安','景德镇'];
echo current($arr),'<hr>';
next($arr);
echo current($arr),'<hr>';
next($arr);
echo current($arr),'<hr>';
next($arr);
echo current($arr),'<hr>';
next($arr);
echo current($arr),'<hr>';
1.while 循环:入口判断型(简化上方)
while($arrs = current($arr)){
echo $arrs,'<hr>';
next($arr);
}
2.do…while..循环:出口判断型(先执行一次再判断是否符合循环的条件)
do{
echo $arrs,'<hr>';
next($arr);
}while($arrs = current($arr));
3.for 循环:for(初始化;循环条件;递增项)
for($v = 0;$v<count($arr);$v++){
echo $arr[$v],'<hr>';
}
4.用 for 循环遍历二维数组
<?php
$arr = [
['id'=>1,'name'=>'张三','age'=>30],
['id'=>2,'name'=>'李四','age'=>40],
['id'=>3,'name'=>'王五','age'=>50],
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo 'php和html混编'?></title>
<style>
.tab{
border-collapse:collapse;
border:1px solid black ;
}
</style>
</head>
<body>
<table class=tab border="1">
<?php for($v = 0;$v<count($arr);$v++):?>
<tr>
<td><?php echo $arr[$v]['id']?></td>
<td><?php echo $arr[$v]['name']?></td>
<td><?php echo $arr[$v]['age']?></td>
</tr>
<?php endfor?>
</table>
</body>
</html
总结
1.了解了分支控制(if多分支,switch)
2.遍历数组的操作了解
3.要多敲代码,熟悉代码(前面学过的html表格间距合并怎么操作都快忘了 囧)