博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4. PHP运算符、判断语句、循环语句
阅读量:6121 次
发布时间:2019-06-21

本文共 4065 字,大约阅读时间需要 13 分钟。

1.运算符
a.算术运算符
一元运算符 二元运算符
负号(一元减) +
++ -
-- *
null /
null %
  • 在js中,+可以做数字和字符串相加。在PHP中,+只能做数字相加。
  • ++是递增1,--是递减1,要注意++前置和++后置
  • ++前置是先自增,++后置是后自增
'; $num1 = 10; echo ++$num1; //11?>复制代码
$num = 5;echo (++$num) + (++$num) + (++$num); //6 + 7 + 8 = 21复制代码
$num = 5;echo ($num++) + ($num++) + ($num++); //5 + 6 + 7 = 18复制代码
b.关系运算符
运算符 描述
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
=== 全等于
!== 不全等于

比较运算符的结果不是 true 就是 false

c.逻辑元素符
运算符 描述
&&
!
  • 逻辑运算符的作用是用来连接比较运算符的
  • 非运算符去括号,每个表达式取非,或变与,与变或
d.字符串连接符
echo 'aa'.'bb'.'cc'; //aabbcc复制代码
e.赋值运算符
运算符 描述
= 赋值
a+=b a=a+b
-= 加等
*= 乘等
/= 除等
%= 摸等
a.=b a=a.b
f.三元运算符

语法: 表达式?值:值

$num = 20;echo $num%2 == 0? '偶数':'奇数'; //偶数复制代码
2.判断语句

a.单分支 语法:

if(条件){    //代码}复制代码

如果if块中就一句代码,则大括号是可以省略的。

if(20>10)echo 'true';复制代码

替代语法 { = : } = endif

if(20>10):    echo 'true';endif;for():endfor;复制代码

b.双分支 语法:

if(条件){    //代码}else{    //代码}复制代码

c.多分支 语法:

if(条件){    //代码}elseif(条件){    //代码}else{    //代码}复制代码

d.多路选择 语法:

switch(表达式){    case 常量:    代码;    break;    case 常量:    代码;    break;    default:    匹配失败}复制代码

++判断变量是否为空: 在处理一个没有定义的变量时候会报错,所以在处理变量之前,我们先要判断一下变量,判断的函数常用如下两个++

函数 描述
isset() 判断变量是否有值,并且值不为null
empty() 判断变量是否为 只要能转成bool为false的值,通过empty检测都为空

e.判断闰年

  • 能被4整除,但不能被100整除
  • 能被400整除

  • trim():去除数据两边的空格
  • is_numeric():判断是否是数字或数字字符串
  • is_int():是否是整型
    
PHP
=0){//判断是否是负数 if($year%4==0 && $year%100!=0 || $year%400==0) echo "{
$year}是闰年"; else echo "{
$year}是平年"; }else{ echo '年份必须是正整数'; } }else { echo '您输入的是小数'; } }else { echo '您输入的不是数字'; } } } ?>复制代码
e.elseif和else if的区别

elseif是多分支,else if是嵌套if语句。 这两个虽然语义不一样,但是最终的结果是一样的。他们在替代语法上才能体现出来。

else if(){    }==else {    if(){            }}复制代码
3.循环语句

当一段代码重复执行多次执行,需要用到循环

a.for

for循环执行结束后,$i的变量还是存在的

标准语法:

for($i=0; $i<10; $i++){    //执行代码 }复制代码

替代语法:

for($i=0; $i<10; $i++):    //执行代码 endfor复制代码

for循环自动分行:

'; endfor; ?>
复制代码

多条语句组成表达式:

for($i=1,$j=9; $i<=$j; $i++,$j--) {	echo "10可以分为{
$i}和{
$j}
";}//如果条件语句有两条组成,后面条件结果把前面条件结果给覆盖了复制代码
b.while

标准语法:

$num = 0;$i = 1;while($i<=100){    $num += $i++;}echo $i; //101复制代码

替代语法:

while(条件){    //执行代码}复制代码
c.do-while
do{}while(条件);复制代码
d.foreach

用来遍历数组

语法:

foreach(数组 as 值){}foreach(数组 as 键=>值){}复制代码

示例:

'; } //李白 //大白 //小白 echo '

'; foreach($stu_array as $key => $stu){ echo $key,$stu,'
'; } // 0李白 // 1大白 // 2小白?>复制代码

示例:

'; } }}?>
爱好:
爬山
读书
游泳
复制代码
e.for、while、do-while的区别
  • 这三个循环可以相互代替,
  • 明确知道循环多少次首选for循环
  • 不知道循环多少次,一直循环到条件不成立为止,选while和do-while.
  • While先判断再执行,do-while选执行再判断
  • ++while条件不成立就不执行,do-while条件不成立也要执行一次++
  • 获取数组的长度 count()和sizeof()
f.替代语法总结

PHP提供了替代语法,主要用于在PHP代码和HTML代码混编的时候使用,具有替换语法的语句有if、switch、for、while、foreach,将左大括号变冒号,右大括号变endXXX。

g.跳转语句
  • break:中断循环
for($i=1;$i<=10;$i++){    if($i==5){        break; //等于5的时候跳出循环 // 1 2 3 4 5    }    echo $i,' ';}复制代码

break中断是当前循环,如果想要中断多重循环,在break后面加上需要中断循环的层数(break N)

for($i=1;$i<=10;$i++){    for($j=1;$j<=$i;$j++){        echo $j,' ';        if($j==5){            break 2; //等于5的时候中断2重循环 // 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5         }    }}复制代码
  • continue: 跳出当前循环,进入下一个循环(continue后面也可以带循环的层数,continue N)
for($i=1;$i<=10;$i++){    if($i==5){        continue; //等于5的时候跳出当前循环 进入下一个循环 // 1 2 3 4 6 7 8 9 10     }    echo $i,' ';}复制代码
h.翻转数组
$stu = array('tom','berry','ketty','rose','jack');print_r($stu); echo '

';for($i=0,$j=count($stu)-1; $i<$j; $i++){ $temp=$stu[$i]; $stu[$i]=$stu[$j]; $stu[$j]=$temp;}print_r($stu); echo '

';复制代码
i.九九乘法表
'; for($j=1; $j<=$i; $j++) { echo "
'; } echo '
'; } ?>
{
$j}*{
$i}=".($j*$i),'
复制代码

转载地址:http://dnwua.baihongyu.com/

你可能感兴趣的文章
IIS7如何显示详细错误信息
查看>>
C++文件读写详解(ofstream,ifstream,fstream)
查看>>
Android打包常见错误之Export aborted because fatal lint errors were found
查看>>
Tar打包、压缩与解压缩到指定目录的方法
查看>>
新手如何学习 jQuery?
查看>>
配置spring上下文
查看>>
Python异步IO --- 轻松管理10k+并发连接
查看>>
mysql-python模块编译问题解决
查看>>
Oracle中drop user和drop user cascade的区别
查看>>
【Linux】linux经常使用基本命令
查看>>
HTML模块化:使用HTML5 Boilerplate模板
查看>>
登记申请汇总
查看>>
Google最新截屏案例详解
查看>>
2015第31周日
查看>>
在使用EF开发时候,遇到 using 语句中使用的类型必须可隐式转换为“System.IDisposable“ 这个问题。...
查看>>
Oracle 如何提交手册Cluster Table事务
查看>>
BeagleBone Black第八课板:建立Eclipse编程环境
查看>>
在服务器上用Fiddler抓取HTTPS流量
查看>>
文件类似的推理 -- 超级本征值(super feature)
查看>>
【XCode7+iOS9】http网路连接请求、MKPinAnnotationView自定义图片和BitCode相关错误--备用...
查看>>