php的 和--运算,PHP -- 运算和结构

math?formula=%5Ccolor%7Brgba(254%2C%2067%2C%20101%2C%20.8)%7D%7B%E5%B0%8F%E6%95%B0%E5%8F%96%E6%A8%A1%EF%BC%9A%7D

math?formula=%5Ccolor%7Brgba(3%2C%20101%2C%20100%2C%20.8)%7D%7B%E5%B0%8F%E6%95%B0%E4%BC%9A%E8%A2%AB%E5%85%88%E5%8F%96%E6%95%B4%EF%BC%8C%E5%86%8D%E5%8F%96%E6%A8%A1%7D

$a = 8.5%3.2;

echo $a; // 2

$a = 8.5%-3.2;

echo $a; // 2

$a = -8.5%3.2;

echo $a; // -2

$a = -8.5%-3.2;

echo $a; // -2

取模:前面是正,结果就是正,前面是负,结果就是负

8是被除数, 3是除数, 被除数影响结果的正负

9c495776348f

image.png

math?formula=%5Ccolor%7Brgba(254%2C%2067%2C%20101%2C%20.8)%7D%7B%E5%9C%A8JS%E4%B8%AD%EF%BC%8C%E5%B0%8F%E6%95%B0%E5%8F%96%E6%A8%A1%E8%BF%94%E5%9B%9E%E5%80%BC%E6%98%AF%E5%B0%8F%E6%95%B0%7D

var a = 8.5%3.2;

alert(a);

9c495776348f

math?formula=a%2B%2B%20%E5%92%8C%20%2B%2Ba :

$a = 10;

$b = $a++;//$b = $a; $a = $a + 1;

echo $a,'|',$b;

//值为: 11|10

从左往右运算的,先有/$b = $a;后有的$a = $a + 1;

$a = 10;

$b = ++$a;//$a + 1 = $a; $b = $a;

echo $a,'|',$b;

//值为: 11|11

赋值运算:

=

+=

math?formula=a%20%3D%2010%20%EF%BC%9Ba =

math?formula=a%20%2B%2010%3Ba = 20;

-=

*=

/=

.= 点等于,用于字符串连接,必须前后都是字符串才可以

$name = '张三';

$welcome = '欢迎';

$str = $welcome . $name;

echo $str;

点等与用于连接字符串:

9c495776348f

image.png

math?formula=%5Ccolor%7Brgba(254%2C%2067%2C%20101%2C%20.8)%7D%7B%E6%9D%A1%E4%BB%B6%E8%BF%90%E7%AE%97%EF%BC%9A%7D

条件运算:

>

<

>=

<=

==

=== 全等(类型和值全部相等)

!= 不等

!== 不全等(类型和值,只要有一个不相等,就为true)

$a = 10;

$b = '10';

var_dump($a == $b);

//var_dump();输出所有类型的值

//两个等号的:会先自动转换成一样的类型,再比较是否相等

返回值: true

$a = 10;

$b = '10abc';

var_dump($a === $b);

返回值: false

这个函数会把前面的整数部分提取出来,后面无论是小数还是字符串,一概舍弃,只取整数

$b = 'abc10';

var_dump($b);

返回值: 0

如果没有取到数字,就会返回0

JS里就会返回 NaN

取整:

$b = '10';

$c = intval($b);

var_dump($c);

返回值;

9c495776348f

image.png

取浮点数:

$b = '10.25';

$c = floatval($b);

var_dump($c);

9c495776348f

image.png

强制类型转换:

$b = '10.25abc';

$c = (int)$b;

var_dump($c);

9c495776348f

image.png

$settype();用于设置变量的类型。

成功返回true,失败返回false

$b = '10.2a';

$c = settype($b, 'int');

var_dump($c);

var_dump($b);

返回值:

9c495776348f

image.png

逻辑运算:

逻辑与: $$ and 都可以

逻辑或: || or 都可以

逻辑非: !

逻辑亦或 ^ xor 都可以(相同为假,不同为真)

逻辑与:

$a = '无房';

$b = '有车';

if($a == '有房' && $b == '有车'){

echo '可以结婚';

}else{

echo '不可以结婚';

}

9c495776348f

image.png

逻辑与是有短路问题的,只要有一个条件判断为false,就为false

只要条件判断为false,就不再执行之后的条件判断,这就是短路。

示例:

$a = 5;

$b = 4;

if($a++ > 5 && $b++ > 3){

echo '#####
';

}

echo $a,'|', $b;

//$a++ > 5可以这样写 $c = $a++; $c > 5

//$c =$a, $a= $a + 1

//此时$c = 5; $a++ = 6

//因为先有$c =$a=5,后有$a= $a + 1 ,$a = 5 + 1 = 6所以第一个条件不满足

//虽然第二个条件满足,但是and运算只要第一个条件为false,就不会再计算第二个条件,所以$b还是4,所以第一个条件#####不会输出,

//第二个echo的结果:$a,'|', $b;结果是 6 | 4

9c495776348f

image.png

逻辑或:

有一个条件判断为true,结果就是true

只要出现条件为true的表达式,就直接输出结果了,后面的表达式不执行,因为结果已经为true了

$a = 5;

$b = 4;

if(++$a > 5 || $b++ > 3){

echo '#####
';

}

echo $a,'|', $b;

//结果还是6|4,因为与运算只要有一个条件为真,就直接输出了,

//这里++$a = 6,就直接输出了,所以,第二个条件根本没有进行运算,还是4

9c495776348f

image.png

三元(三目)运算

就是简写的 if...else

$d = a?b:c

如果 a = true;$d =b

如果 a =false;$d =c

例子:

$a = 5;

$b = 4;

echo $a > $b ? 'a大于b' : 'a不大于b';

9c495776348f

image.png

//取得三个变量的最大值

//自己的写法:

$a = 354;

$b = 8;

$c = 29;

echo ($a > $b ? $a:$b )>($b > $c ? $b:$c )?($a > $c ? $a:$c ):($b > $c ? $b:$c );

视频的写法:

$a = 3;

$b = 81;

$c = 29;

echo $a>$b?($a>$c?$a:$c):($b>$c?$b:$c);

结构:

代码执行顺序: (一般来说)顺序结构 从上到下,从左到右

2.分支结构: if...else 、switch,所有的switch都能用if...else写,但是不是所有的if...else都能用switch写

单分支

if(表达式){

code;

}

表达式不成立则不执行

双分支

if(表达式){

code1;

}else{

code2;

}

表达式成立,执行code1,表达式不成立,则执行code2;

多分支

if(表达式){

code1;

}else if{

code;

}else{

code2;

}

else if 在JS中必须分开写,在php里,可以写成else if ,也可以写成elseif,可以不分开写

if(表达式){

code1;

}else if{

code;

}[

else{

code2;

}

]

中括号里装代码表示中括号里的代码可有可无,这是约定俗成的写法。

示例:

$age = 26;

if($age >= 12 && $age <16){

echo '门票60';

}else if($age >= 16 && $age <18){

echo '门票100';

}else if($age >= 18){

echo '门票130';

}

分支结构的判断条件要封闭性,否则,有可能后面的代码不执行,

例如,第一个判断条件,如果只有$age >= 12 没有 $age <16的话

一旦输入的数字大于等于12,后面的代码永远不会执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值