php 循环左移,PHP运算符、PHP分支结构和循环、模板语法在模板中的应用

php中的运算符

比较运算符

==:两边操作数值相等即可

===两边操作数不仅值相等,类型也要相同

!==两边操作数值不相等

<=> 太空船运算符[当左边的小于右边输出-1 当左边的大于右边的输出1 当两边相等输出0]

例:

// == 两边操作数值相等

var_dump(100=='100');// 输出true

// === 两边操作数值和类型都相等

var_dump(200==='200');// 返回false 两边操作数类型不同

// !== 两边操作数比较值,值不相等返回true

var_dump(200!==100);

// 太空船运算符

var_dump(10<=>20);// 输出 -1

var_dump(10<=>10);// 输出 0

var_dump(20<=>10);// 输出 1逻辑运算符

&&:逻辑与运算符,两边的表达式全为true,否则返回false

||:逻辑或运算符,两边的表达式只要有一个为true则返回true

例:

var_dump((10>8)&&(10>5));// 输出true 两边表达式全为true

echo'
';

var_dump((10>8)&&(5>15));// 输出false 右边表达式为false 所以输出false

echo'
';

var_dump((10>8)||(5>15));// 输出true 左边表达式为true故输出true

短路求值

第一个表达式不成立时直接走else区间不会再去计算第二个表达式

// 以下面例子为例 当$username表达式不成立时直接走else输出no不会再计算$username === 'admin';

例:

$username='张三';

if($username&&$username==='admin'){

echo'ok';

}else

echo'no';

}三元运算符

表达式 ? 表达式为走的真区间 : 表达式为假走的区间;

??:三元运算中的合并运算(用于执行isset()检测的三元运算的快捷方式)

例:

// 常规写法

$price=4000;

if($price>3000){

echo'有点贵';

}else{

echo'买它';

}

// 三元运算符写法

echo $price>3000?'有点贵':'买它';

// 三元运算默认值

$password='123456';

// 当$password存在时输出$password的值否则输出给定的默认值

echo isset($password)?$password:'root';

// 使用??简化:isset() + 三元运算 = 变量默认值 方式

echo $password??'root';php中的分值结构

单分支结构

if(条件) { 执行代码 }

例:

$price=500;

// 1.单分支结构

if($price>=500){

// 价格大于等于500打九折

echo $price*0.9;

}

简写:当流程控制中只有一行代码的时候,可以省略大括号

例:

$price=500;

if($price>=500)echo $price*0.8;单分支模板语法

if(条件) : 执行代码 endif[就是把初始大括号用冒号代替,结束大括号用指定关键字代替]

// 模板语法

例:

$price=500;

if($price>=500):

// 价格大于等于500打九折

echo $price*0.9;

endif;

// 一行简写

if($price>=500):echo $price*0.5;endif;双分支结构

if(条件) { true执行代码 } else { false执行代码 }

例:

$price=300;

if($price>=300){

// 当价格大于等于300是走这个区间打九折

$payment=$price*0.9;

}else{

// 当价格不满足表达式价格小于300时走这个区间,原价格

$payment=$price;

}

// 打印最后结账价格

var_dump($payment);双分支模板语法

if(条件) : true执行代码 else : false执行代码 endif

注意:else前面的花括号直接去掉没有东西代替

例:

$price=300

if($price>=300):

$payment=$price*0.9;

else:

$payment=$price;

endif;

var_dump($payment);多分支结构

多分支:if(条件)else { 执行代码 } elsef(条件){执行代码} else { 默认值 }

注意:这里的elseif根据需求来写上面两个只是例子

例:

$price=5000;

if($price>1000&&$price<2000){

$payment=$price*0.9;

}elseif($price>2000&&$price<3000){

$payment=$price*0.7;

}elseif($price>3000&&$price<4000){

$payment=$price*0.6;

}elseif($price>4000&&$price<=5000){

$payment=$price*0.5;

}else{

// 默认值(当所有条件都不符合时)

$payment=$price;

}

echo'实付价钱'.$payment;多分支模板语法

if(条件):执行代码; elseif(条件):执行代码;else:默认值;endif

例:

$price=3000;

// 模板语法

if($price>1000&&$price<2000):

$payment=$price*0.9;

elseif($price>2000&&$price<3000):

$payment=$price*0.7;

elseif($price>3000&&$price<4000):

$payment=$price*0.6;

elseif($price>4000&&$price<=5000):

$payment=$price*0.5;

else:

// 默认值(当所有条件都不符合时)

$payment=$price;

endif;

echo'实付价钱'.$payment;switch多分支[简化多分支]

switch(条件){

case表达式:

执行代码

break;

default:

执行代码

break;

}例:

$discount=0.7;// 折扣

$price=6000;// 价钱

switch($discount){

case0.7:

$payment=$price*$discount;

break;

case0.8:

$payment=$price*$discount;

break;

case0.9:

$payment=$price*$discount;

break;

default:

$payment=$price;

break;

}

echo'实际结账啊'.$payment;switch模板语法

// 模板语法

switch(条件):

case表达式:

执行代码

break;

default:

执行代码

break;

endswitch;例:

$discount=0.7;// 折扣

$price=5000;// 价钱

switch($discount):

case0.7:

$payment=$price*$discount;

break;

case0.8:

$payment=$price*$discount;

break;

case0.9:

$payment=$price*$discount;

break;

default:

$payment=$price;

break;

endswitch;

echo'实际结账啊'.$payment;php循环

while循环

// while循环(入口循环:入口判断) while (条件) { 需要执行的代码 }

current($cities); // 输出数组中的当前元素

next($cities); // 指针下移

reset($cities);数组指针复位重新指向第一个

例:

$cities=['海淀','丰台','朝阳','大兴','昌平'];

echo current($cities);// 输出数组中的当前元素 "海淀"

next($cities);// 指针下移

echo current($cities);// 输出丰台 上面指针下移所以输出丰台

while($city=current($cities)){

echo $city,'
';

// 前移指针

next($cities);

}

// 输出结果依次输出,海淀,丰台,朝阳,大兴,昌平while模板语法

while(条件): 执行代码 endwhile

例:

$cities=['海淀','丰台','朝阳','大兴','昌平'];

while($city=current($cities)):

echo $city,'
';

// 前移指针

next($cities);

endwhile;do {执行代码} while (条件); 没有模板语法

do {执行代码} while (条件);判断型循环:出口判断 无论条件成不成立先执行一次

例:

$cities=['海淀','丰台','朝阳','大兴','昌平'];

do{

echo $city;

next($cities);

}while($city=current($cities));

// 输出结果丰台,朝阳,大兴,昌平因为在判断条件前限制性了一次数组指针下移for循环

for (循环变量的初始化; 循环条件; 更新循环条件){ 执行代码 }

count(变量名); 数数,数数组中的元素个数

例:

这里$i的起始值是数组中元素的下标值[下标值是从0开始的]

for($i=0;$i

var_dump($cities[$i]);echo'
';

}for循环模板语法

for (循环变量的初始化; 循环条件; 更新循环条件): 执行代码 endfor

例:

for($i=0;$i

var_dump($cities[$i]);echo'
';

endfor;模板语法在模板中的应用

// 数据表查询结果通常是一个二维数组,用二维数组来模拟

$users=[

['id'=>1,'name'=>'zhu','grade'=>60],

['id'=>2,'name'=>'admin','grade'=>50],

['id'=>3,'name'=>'peter','grade'=>20],

];

?>

<?php echo'这是title'?>
<?php echo $users[$i]['id']?><?php echo $users[$i]['name']?><?php echo $users[$i]['grade']?>

输出结果:

399e18b300416f59a68ffc9bff1c6a90.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值