手冊。下面的內容我會寫一些細節問題。
算術運算子 遞增/
遞減運算子
<?php
$i = 0;
$x = ($i++); //相當於 $x = $i; $i += 1;
$j = 0;
$y = (++$j); //相當於 $j += 1; $y = $i;
$k = 0;
$z = ($k+=1);
printf('$i is : %s; $x is %s
', $i, $x);
printf('$j is : %s; $y is %s
', $j, $y);
printf('$k is : %s; $z is %s
', $k, $z);
?>
看下**,執行後就明白了。遞減也是一樣的。
在php
中, ++$i
比 $i++
的效率要高一些, 當然別的語言不一樣, 所以別的語言的迴圈一般用
i++。
php還是寫成這樣好了。
for ($i=0; $i<1000; ++$i);
$i = 0;
while ($i<1000)
但是需要賦值的時候, 最好還是不要用遞增/
遞減運算子。
如果想寫$x = $i++;
就寫成$x = $i; $i += 1;
如果想寫$x = ++$i;
就寫成$x = ($i+=1);
這樣你就有更多的精力去想程式的邏輯,而不是程式的細節。
邏輯運算子
手冊中,運算子優先順序那個**的,邏輯運算子的結合方向都是「左」。這個意思是左邊的運算先算,右邊的運算後算。
比如計算 flase && true。 左邊
false
了,右邊就不用計算了。
計算 true or flase ,右邊也不用計算了。所以可以這樣寫
defined('day4') or define('day4', '第四天
');
isset($day4) or $day4 = '第四天';
(ps: 這是我從
yii建議還是用
if。)
所以如果你不確定乙個值比如$a
是否存在,你要這樣寫
if (isset($a) && $a=='123');
不能把isset
寫到右邊去。
因為邏輯運算子的一些性質,有些人想去掉if
語句中的
else
(居然還有乙個反
if行動
請看下例。
//bool $a,$b
if ($a && $b)
else
else
可以改寫成 return $a === 1;
$a >= 0 可以理解成
$a>0 or $a==0
。
PHP第四天 終止迴圈
迴圈的中斷 迴圈是按給定的條件,只要條件滿足就會繼續執行迴圈體的一種語法形式。但,我們也可以在迴圈過程中 迴圈體內 人為將迴圈中斷。有兩種中斷迴圈的方式 continue中斷 語法形式 continue n 表示是要中斷第幾層的迴圈,繼續該層迴圈的下一次。其中 n可以省略,如果省略,表示1,就是中斷...
學習PHP的第四天
1.php型別的比較 鬆散比較 使用兩個等號 比較,只比較值,不比較型別。嚴格比較 用三個等號 比較,除了比較值,也比較型別。1.php eol相當於換行符echo 2.var dump 是輸出資料的值和型別 php常量 2.設定常量,使用 define 函式,函式語法如下 bool define ...
開課第四天
今天是開課的第四天,老師又講了很多知識 1 位運算 位運算的效能高,但是理解比較困難。1 按位與,兩個都是一才為一,兩個不一樣就為零。2 按位或,只要有乙個是一就是一。3 異或,不同為一,乙個數和另乙個數異或倆次還是它自己,乙個數和自身異或結果是零,乙個數和零異或結果還是它本身。對稱加密,解密。4 ...