PHP教程:五個使用PHP制作動態網頁的技巧_PHP教程
推薦:php用session做客戶驗證時的注意事項如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名變量就會攪和在一起, 可以用HTTP_*_VARS[username]來判斷你想要的那個變量. 但是即使同名, 在php.ini中variables_order = GPCS也會按照優先級別來判斷, 等級低的值沒法沖
1. str_replace
str_replace是常用的php函數,用于字符串替換,經常看到某些php新人為了替換一批字符串,寫了好多行str_replace,實在是慘不忍睹。
比如這個例子:
PHP:
str = ’某人的棲息地 --- www.dwww.cn’;
str = str_replace(’某人’, ’壞人’, str);
str = str_replace(’的’, ’di’, str);
str = str_replace(’棲息地’, ’豬窩窩’, str);
str = str_replace(’www.dwww.cn’, ’dwww.cn’, str);
以上,替換了4次字符串,實際只要換個寫法,一行就搞定了:
str = ’某人的棲息地 --- www.dwww.cn’;
str = str_replace(array(’某人’, ’的’, ’棲息地’, ’www.dwww.cn’), array(’壞人’, ’di’, ’豬窩窩’, ’dwww.cn’), str);
2. array
經常看到有人拿數組這樣寫:echo arr[some_key];
上面這行代碼能跑,看上去也沒什么大問題,但是如果你把php.ini的error notice打開的話,會收到一大批error。php解析器首先是拿“some_key”當作一個常量來解釋的,但如果沒有定義some_key這樣一個常量,解析器還是很寬容的把它當作了一個字符串來看待。因此新人同學們最好寫完整一點:
echo arr[’some_key’];這樣就沒有問題了,如果你要把它放在雙引號中連用,也不能省掉引號,可以這樣寫:echo "這是混在雙引號中的字符串{arr[’some_key’]}";
3. 類型戲法
類型戲法相當好用,比如有一個表單提交過來的變量,正常情況下它應該是整型的,有時候偷懶省去校驗的寫法可以是這樣的:
intVar = (int)_POST[’post_var’];
再比如數組,有時候寫鍵值要打引號是不是很不爽啊,我們可以把它轉換成object,比如:
arr = array(’name’ => ’volcano’, ’sex’ => ’male’);
arr = (object)arr;
echo arr->name;
echo arr->sex; 是不是很省事?
4. lambda函數
lamda函數和array_*系列函數使用有奇效,拿php手冊上的一個例子來說:
PHP:
<?php
av = array("the ", "a ", "that ", "this ");
array_walk(av, create_function(’&v,k’, ’v = v . "mango";’));
print_r(av);
?>
至少省了一個for循環
5. 嵌套循環顯示表格的單元格
嵌套循環顯示表格的單元格,這是一個很老的話題哦,往往會要在某個單元格后邊加個條件判斷什么的,考慮是不是要輸出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>
分享:PHP入門教程:如何獲得PHP相關資料?1. 我在哪兒能得到php? 2. 有預編譯的二進制版本嗎? 3. 我在哪兒能得到可選的php擴展庫 ? 4. 我怎樣做才能使這些庫運作起來? 5. 我在我的windows上用cvs得到最新版本的php源代碼, 我怎樣編譯它? 6. 我在哪兒能找到 browser capabilities file? 1. 我在哪兒
- 相關鏈接:
- 教程說明:
PHP教程-PHP教程:五個使用PHP制作動態網頁的技巧。