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分支结构和循环、模板语法在模板中的应用相关推荐

  1. day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  2. day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  3. c语言双分支结构运算符,c语言——运算符、分支结构、循环结构

    一.运算符 关系运算符 关系运算符含  义数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条 ...

  4. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...

  5. C语言分支循环结构1,c语言——运算符、分支结构、循环结构(示例代码)

    一.运算符 关系运算符 关系运算符含  义数学中的表示 < 小于 < <= 小于或等于 ≤ > 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠ 条 ...

  6. python中能用分支结构写出循环的算法吗_Python分支结构及循环结构

    Python中分支结构: 1.在Python中,要构造分支结构可以使用if.elif和else关键字. 所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够 ...

  7. 分支结构,循环结构,for循环,九九乘法表

    一:复习 ''' 1.变量名命名规范-- 1.只能由数字.字母 及 _ 组成-- 2.不能以数字开头-- 3.不能与系统关键字重名-- 4._开头有特殊含义-- 5.__开头__结尾的变量,魔法变量- ...

  8. ASP.NET--表达式、运算符与分支结构

    在C#语言中有许多对变量进行处理的运算符,把变量和操作数与运算数组合起来就可以创建一个表达式. 程序语句是由表达式构成,表达式由常量.变量和运算符构成,运算符的运用范围非常广泛,有简单的,也有复杂的, ...

  9. android页面布局4*4乘法表,day4(分支结构,循环结构,for循环,九九乘法表)

    一:复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量, ...

  10. D05运算符和分支结构

    运算符和分支结构 1.运算符 1.1关系运算符 > < >= <= == != 关系运算符的结果有且只有 true or false 用于在开发中的条件判断使用 public ...

最新文章

  1. 核心板焊接之连接器与邮票孔
  2. 代码质量与规范,那些年你欠下的技术债
  3. 对比云备份:企业做出最佳选择
  4. 蓝桥杯-十六进制转八进制(java)
  5. php manager 怎么用,Windows 2008 R2下如何利用PHPManager对PHP进行配置
  6. android 开发 命名规范
  7. Android 代码动态生成ProgressBar
  8. 大数据分析方法有哪些
  9. 蓝桥杯历年(省赛)试题汇总及试题详解
  10. 使用word代码域自动为图表 标号
  11. 微处理器 微型计算机 单片机之间有何区别,微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有什么区别?...
  12. ThinkPad X230 后没有了Break 以及 Pause键,网工们囧了?
  13. 浏览器工作原理:浅析HTTP请求流程
  14. 一亩三分地-每日答题
  15. 网络爬虫学习软件篇-Python(一)下载安装(超详细教程,傻瓜式说明)
  16. python延迟实现
  17. 解决SQL_Server2000“以前的某个程序安装已在安装计算机上创建挂起的文件操作。安装程序前必须重新启动计算机”
  18. Cannot find any credentials with id 283d811e-7a65-4977-b560-9c66555e19d6
  19. python中使用缩进来体现代码之间的逻辑关系_Python使用缩进来体现代码之间的逻辑关系。...
  20. 阿里hr为什么那么拽?转载知乎热榜万赞回答

热门文章

  1. Linux中网卡的命名规则
  2. php fig是什么,还是看好 PHP-FIG
  3. vlan为什么能隔离广播域_【思唯网络学院】VLAN是二层技术还是三层技术?
  4. 为什么java导入有x_ImportError:无法导入名称X
  5. .net byte转java byte_「Java知识收集整理」Java语法的基础
  6. android ndk neon,android ndk NEON Support
  7. bom sap 替代项目_简述SAP系统常规模块能为定制家居企业解决哪些核心问题
  8. matlab方差 anov,方差分析
  9. mysql截取字符串最后两位_MySQL截取字段中最后两位不想要的字符串 以及截取函数...
  10. iframe 返回上一页_Swagger权限认证上:基于Apache Shiro