1. 使用list來實現一次獲取explode后的特定段值: list( , $mid) = explode(';', $string); 2. 使用NULL === 來代替is_null: is_null和 NULL === 完全是一樣的效果, 但是卻節省了一次函數調用 " /> 麻豆XXXX乱女少妇精品-百度,一个人免费视频在线观看高清频道,护士被老头边摸边吃奶的视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]

最后更新: 2011/04/02

1. 使用list來實現一次獲取explode后的特定段值:
list( , $mid) = explode(';', $string);
2. 使用NULL === 來代替is_null:
is_null和 NULL === 完全是一樣的效果, 但是卻節省了一次函數調用.

3. 使用===盡量不用==:
php有倆組相等比較運算符===/!==和==/!=, ==/!=會有隱式類型轉換,而===/!==會嚴格比較倆個操作時是否類型相同并且值相等.
我們應該盡量使用===而不是==, 除了因為轉換規則比較難記以外, 還有一點就是如果使用===, 對于日后的維護或者閱讀你代碼的人也會很舒服:”在這個時刻, 這一行語句, 這個變量就是這個類型的!”.

4. 少用/不用 continue:
continue是回到循環的頭部, 而循環結束本來就是回到循環的頭部, 所以通過適當的構造, 我們完全可以避免使用這條語句, 使得效率得到改善.

5. 警惕switch/in_array等的松比較(loose comparision):
switch和in_array都是采用松比較, 所以在要比較的變量之間類型不一樣的時候, 很容易出錯:

復制代碼 代碼如下:
switch ($name) {
case "laruence":
...
break;
case "eve":
...
break;
}

對于上面的switch, 如果$name是數字0, 那么它會滿足任何一條case. 同理在in_array中也是.
解決的辦法就是, 在switch之前, 把變量類型轉換成你所期望的類型.
復制代碼 代碼如下:
switch (strval($name)) {
case "laruence":
...
break;
case "eve":
...
break;
}


而, in_array提供了第三個可選的參數, 通過這個參數可以改變默認的比較方式.
6. switch不僅僅只用來判別變量:
比如, 對于如下的一段代碼:
復制代碼 代碼如下:
if($a) {
} else if ($b) {
} else if ($c || $d) {
}

可以簡單的改寫為:
復制代碼 代碼如下:
switch (TRUE) {
case $a:
break;
case $b:
break;
case $c:
case $d:
break;
}

是不是看起來更清晰呢?
7. 變量先定義后使用:
使用一個未定義的變量, 比使用一個定義好的變量要慢8倍以上!
可以相像, php引擎會首先按照正常的邏輯來獲取這個變量, 然而這個變量不存在, 所以php引擎需要拋出一個NOTICE, 并且進入一段使用未定義變量時應該走的邏輯, 然后返回一個新的變量.
另外, 閱讀代碼的角度講, 當你使用一個未定義的變量時, 會讓閱讀你代碼的人困惑:”這個變量在那里初始化的, 和之前的代碼有關系么? 和include進來的文件有關系么?”
最后, 從規范編程的角度來講, 你也需要這樣做.
8. 不用第三變量交換倆個變量的值:
list($a, $b) = array($b, $a),
但其實還是有匿名臨時變量的產生, 對于整數來說, 采用互逆的運算來做, 還是比較靠譜:
復制代碼 代碼如下:
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;

不過, 還是用異或比較好, 因為+ 主站蜘蛛池模板: 国产成人精品s8p视频 | 前后灌满白浆护士 | 国产精品久久久久久免费字体 | 国产亚洲精品福利视频 | 2020国产成人免费视频 | 韩国hd高清xxx | 一本色道久久88综合日韩精品 | 67194成在线观看免费 | 国产亚洲精品久久无码98 | 国产欧美一区二区三区久久 | 99er4久久视频精品首页 | 女人一级毛片免费观看 | 日本精品在线观看视频 | 国内精品日本久久久久影院 | 甜涩性爱下载 | 村妇偷人内射高潮迭起 | 漂亮的保姆3中文版完整版 漂亮的保姆3集电影免费观看中文 | 性吧 校园春色 | 99久久国产免费福利 | 亚洲区视频在线观看 | 亚洲精品国产一区二区贰佰信息网 | 亚洲AV永久无码精品老司机蜜桃 | 欧美一区二区视频在线观看 | 好紧好湿太硬了我太爽了文字 | 软糯白嫩双性受h | 2020精品国产视 | 美女丝袜夹b | 日本吃孕妇奶水免费观看 | 东北成人社区 | 琪琪婷婷五月色综合久久 | 精品一区二区三区高清免费观看 | 久久无码人妻中文国产 | 99RE6国产精品视频播放 | 国产树林野战在线播放 | 国产永不无码精品AV永久 | 欧美午夜a级精美理论片 | 国内精品乱码卡一卡2卡三卡 | 免费观看高清黄页网址大全 | 国产精人妻无码一区麻豆 | 日韩1区1区产品乱码芒果榴莲 | 男男高H啪肉Np文多攻多一受 |