標籤:
引言:PHP當中的一些蝟鎖技巧,比較基礎,想起就發貼總結一下,老鳥換個姿勢飄過去就是。
【技巧】應該屬於“方法”的一個範疇,主要指對一種生活或工作方法的熟練和靈活運用。
【五筆】RFAG。
話不多說,下面就列一列!
字串操作
1.str_replace
+[文本替換]
文本替換是極其常用的PHP函數,非常常常常常常常用,經常看到有一些兄弟寫一大堆str_replace只為迴圈對一個原始字串進行內容替換,實在是慘不忍睹。
比如:
$str = ‘大象的尿尿盆 --- do.org.cn‘;$str = str_replace(‘大象‘, ‘楊清山‘, $str);$str = str_replace(‘的‘, ‘di‘, $str);$str = str_replace(‘尿尿盆‘, ‘馬桶‘, $str);$str = str_replace(‘do.org.cn‘, ‘do.org.cn/joke‘, $str);
改進:
$str = ‘大象的尿尿盆 --- do.org.cn‘;$str = str_replace(array(‘大象‘, ‘的‘, ‘尿尿盆‘, ‘do.org.cn‘), array(‘楊清山‘, ‘di‘, ‘馬桶‘, ‘do.org.cn/joke‘), $str);
說明:原寫法替換了4次字串,實際只要換個寫法,一行就搞定了 :)
數組操作
1.key in array
+[數組鍵]
經常看到有人拿數組這樣寫:
echo $arr[some_key];
上面這行代碼能跑,看上去也沒什麼大問題,但是如果你把php.ini的error notice開啟的話,會收到一大批error。php解析器首先是拿“some_key”當作一個常量來解釋的,但如果沒有定義some_key這樣一個常量,解析器還是很寬容的把它當作了一個字串來看待。因此新人同學們最好寫完整一點:
改進:
echo $arr[‘some_key‘];
或者:
如果你要把它放在雙引號中連用,也不能省掉引號,可以這樣寫:
echo "這是混在雙引號中的字串{$arr[‘some_key‘]}";
類型轉換
1.Type Juggling+[類型戲法]
基礎類型轉換-類型戲法相當好用,比如有一個表單提交過來的變數,正常情況下它應該是整型的,有時候偷懶省去校正的寫法可以是這樣的:
$intVar = (int)$_POST[‘post_var‘];
數群組轉換對象-再比如數組,有時候寫索引值要打引號是不是很不爽啊,我們可以把它轉換成object,比如:
$arr = array(‘name‘ => ‘volcano‘, ‘sex‘ => ‘male‘);$arr = (object)$arr;echo $arr->name;echo $arr->sex;
說明:雖然是很省事,但畢竟是一些類型戲法,難免保證在其他版本的PHP不會發出警告之類
Lambda函數
1.For Shorten+[For縮減]
lamda函數和array_*系列函數使用有奇效,拿php手冊上的一個例子來說:
<?php $av = array("the ", "a ", "that ", "this "); array_walk($av, create_function(‘&$v,$k‘, ‘$v = $v . "mango";‘)); print_r($av);?>
說明:至少省了一個for迴圈
頁面渲染
1.Page Table+[嵌套迴圈顯示表格的儲存格]
嵌套迴圈顯示表格的儲存格,這是一個很老的話題,往往會要在某個儲存格後邊加個條件判斷什麼的,考慮是不是要輸出tr抑或是td標籤。
俺這裡介紹一個辦法,利用array_chunk函數能夠比較工整的輸出html,見下例,這個例子要輸出一個4行6列的表格:
<?php$arr = range(1, 24); // 這個會產生一個數組array(1,2,3,4....24)$arr = array_chunk($arr, 6);// output table?><table> <?php foreach($arr as $row): ?> <tr> <?php foreach($row as $col):?> <td><?php echo $col?></td> <?php endforeach;?> </tr> <?php endforeach;?></table>
未完,待更新...
本站文章為 寶寶巴士 SD.Team 原創,轉載務必在明顯處註明:(作者官方網站: 寶寶巴士 )
轉載自【寶寶巴士SuperDo團隊】 原文連結: http://www.cnblogs.com/superdo/p/4817565.html
[PHP學習教程]006.偷龍轉鳳技巧10則(Remember Tips)