$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是除數倘核, 被除數影響結果的正負
var a = 8.5%3.2;
alert(a);
a :
$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
賦值運算:
=
+= a = a = 20;
-=
*=
/=
.= 點等于评甜,用于字符串連接,必須前后都是字符串才可以
$name = '張三';
$welcome = '歡迎';
$str = $welcome . $name;
echo $str;
點等與用于連接字符串:
條件運算:
>
<
>=
<=
==
===
全等(類型和值全部相等)
!=
不等
!==
不全等(類型和值仔涩,只要有一個不相等忍坷,就為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);
返回值;
取浮點數:
$b = '10.25';
$c = floatval($b);
var_dump($c);
強制類型轉換:
$b = '10.25abc';
$c = (int)$b;
var_dump($c);
$settype();
用于設置變量的類型旬薯。
成功返回true,失敗返回false
$b = '10.2a';
$c = settype($b, 'int');
var_dump($c);
var_dump($b);
返回值:
邏輯運算:
邏輯與: $$ and 都可以
邏輯或: || or 都可以
邏輯非: !
邏輯亦或 ^ xor 都可以(相同為假适秩,不同為真)
邏輯與:
$a = '無房';
$b = '有車';
if($a == '有房' && $b == '有車'){
echo '可以結婚';
}else{
echo '不可以結婚';
}
邏輯與是有短路問題的绊序,只要有一個條件判斷為false,就為false
只要條件判斷為false隶症,就不再執(zhí)行之后的條件判斷政模,這就是短路岗宣。
示例:
$a = 5;
$b = 4;
if($a++ > 5 && $b++ > 3){
echo '#####<br/>';
}
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
邏輯或:
有一個條件判斷為true,結果就是true
只要出現條件為true的表達式娱挨,就直接輸出結果了余指,后面的表達式不執(zhí)行,因為結果已經為true了
$a = 5;
$b = 4;
if(++$a > 5 || $b++ > 3){
echo '#####<br/>';
}
echo $a,'|', $b;
//結果還是6|4跷坝,因為與運算只要有一個條件為真酵镜,就直接輸出了,
//這里++$a = 6柴钻,就直接輸出了淮韭,所以,第二個條件根本沒有進行運算贴届,還是4
三元(三目)運算
就是簡寫的 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';
//取得三個變量的最大值
//自己的寫法:
$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);
結構:
-
代碼執(zhí)行順序: (一般來說)順序結構 從上到下,從左到右
2.分支結構: if...else 占键、switch昔善,所有的switch都能用if...else寫,但是不是所有的if...else都能用switch寫- 單分支
if(表達式){
code畔乙;
}
表達式不成立則不執(zhí)行
- 雙分支
if(表達式){
code1耀鸦;
}else{
code2;
}
表達式成立,執(zhí)行code1啸澡,表達式不成立袖订,則執(zhí)行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';
}
分支結構的判斷條件要封閉性择同,否則两入,有可能后面的代碼不執(zhí)行,
例如敲才,第一個判斷條件裹纳,如果只有$age >= 12 沒有 $age <16的話
一旦輸入的數字大于等于12,后面的代碼永遠不會執(zhí)行