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']?> |
输出结果:
php 循环左移,PHP运算符、PHP分支结构和循环、模板语法在模板中的应用相关推荐
- day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
- day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
- c语言双分支结构运算符,c语言——运算符、分支结构、循环结构
一.运算符 关系运算符 关系运算符含 义数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...
- C语言分支循环结构1,c语言——运算符、分支结构、循环结构(示例代码)
一.运算符 关系运算符 关系运算符含 义数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条 ...
- python中能用分支结构写出循环的算法吗_Python分支结构及循环结构
Python中分支结构: 1.在Python中,要构造分支结构可以使用if.elif和else关键字. 所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够 ...
- 分支结构,循环结构,for循环,九九乘法表
一:复习 ''' 1.变量名命名规范-- 1.只能由数字.字母 及 _ 组成-- 2.不能以数字开头-- 3.不能与系统关键字重名-- 4._开头有特殊含义-- 5.__开头__结尾的变量,魔法变量- ...
- ASP.NET--表达式、运算符与分支结构
在C#语言中有许多对变量进行处理的运算符,把变量和操作数与运算数组合起来就可以创建一个表达式. 程序语句是由表达式构成,表达式由常量.变量和运算符构成,运算符的运用范围非常广泛,有简单的,也有复杂的, ...
- android页面布局4*4乘法表,day4(分支结构,循环结构,for循环,九九乘法表)
一:复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量, ...
- D05运算符和分支结构
运算符和分支结构 1.运算符 1.1关系运算符 > < >= <= == != 关系运算符的结果有且只有 true or false 用于在开发中的条件判断使用 public ...
最新文章
- 核心板焊接之连接器与邮票孔
- 代码质量与规范,那些年你欠下的技术债
- 对比云备份:企业做出最佳选择
- 蓝桥杯-十六进制转八进制(java)
- php manager 怎么用,Windows 2008 R2下如何利用PHPManager对PHP进行配置
- android 开发 命名规范
- Android 代码动态生成ProgressBar
- 大数据分析方法有哪些
- 蓝桥杯历年(省赛)试题汇总及试题详解
- 使用word代码域自动为图表 标号
- 微处理器 微型计算机 单片机之间有何区别,微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有什么区别?...
- ThinkPad X230 后没有了Break 以及 Pause键,网工们囧了?
- 浏览器工作原理:浅析HTTP请求流程
- 一亩三分地-每日答题
- 网络爬虫学习软件篇-Python(一)下载安装(超详细教程,傻瓜式说明)
- python延迟实现
- 解决SQL_Server2000“以前的某个程序安装已在安装计算机上创建挂起的文件操作。安装程序前必须重新启动计算机”
- Cannot find any credentials with id 283d811e-7a65-4977-b560-9c66555e19d6
- python中使用缩进来体现代码之间的逻辑关系_Python使用缩进来体现代码之间的逻辑关系。...
- 阿里hr为什么那么拽?转载知乎热榜万赞回答
热门文章
- Linux中网卡的命名规则
- php fig是什么,还是看好 PHP-FIG
- vlan为什么能隔离广播域_【思唯网络学院】VLAN是二层技术还是三层技术?
- 为什么java导入有x_ImportError:无法导入名称X
- .net byte转java byte_「Java知识收集整理」Java语法的基础
- android ndk neon,android ndk NEON Support
- bom sap 替代项目_简述SAP系统常规模块能为定制家居企业解决哪些核心问题
- matlab方差 anov,方差分析
- mysql截取字符串最后两位_MySQL截取字段中最后两位不想要的字符串 以及截取函数...
- iframe 返回上一页_Swagger权限认证上:基于Apache Shiro