PHP教程:五個使用PHP制作動態(tài)網(wǎng)頁的技巧_PHP教程
推薦:php用session做客戶驗(yàn)證時的注意事項(xiàng)如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名變量就會攪和在一起, 可以用HTTP_*_VARS[username]來判斷你想要的那個變量. 但是即使同名, 在php.ini中variables_order = GPCS也會按照優(yōu)先級別來判斷, 等級低的值沒法沖
1. str_replace
str_replace是常用的php函數(shù),用于字符串替換,經(jīng)常看到某些php新人為了替換一批字符串,寫了好多行str_replace,實(shí)在是慘不忍睹。
比如這個例子:
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次字符串,實(shí)際只要換個寫法,一行就搞定了:
str = ’某人的棲息地 --- www.dwww.cn’;
str = str_replace(array(’某人’, ’的’, ’棲息地’, ’www.dwww.cn’), array(’壞人’, ’di’, ’豬窩窩’, ’dwww.cn’), str);
2. array
經(jīng)�?吹接腥四脭�(shù)組這樣寫:echo arr[some_key];
上面這行代碼能跑,看上去也沒什么大問題,但是如果你把php.ini的error notice打開的話,會收到一大批error。php解析器首先是拿“some_key”當(dāng)作一個常量來解釋的,但如果沒有定義some_key這樣一個常量,解析器還是很寬容的把它當(dāng)作了一個字符串來看待。因此新人同學(xué)們最好寫完整一點(diǎn):
echo arr[’some_key’];這樣就沒有問題了,如果你要把它放在雙引號中連用,也不能省掉引號,可以這樣寫:echo "這是混在雙引號中的字符串{arr[’some_key’]}";
3. 類型戲法
類型戲法相當(dāng)好用,比如有一個表單提交過來的變量,正常情況下它應(yīng)該是整型的,有時候偷懶省去校驗(yàn)的寫法可以是這樣的:
intVar = (int)_POST[’post_var’];
再比如數(shù)組,有時候?qū)戞I值要打引號是不是很不爽啊,我們可以把它轉(zhuǎn)換成object,比如:
arr = array(’name’ => ’volcano’, ’sex’ => ’male’);
arr = (object)arr;
echo arr->name;
echo arr->sex; 是不是很省事?
4. lambda函數(shù)
lamda函數(shù)和array_*系列函數(shù)使用有奇效,拿php手冊上的一個例子來說:
PHP:
<?php
av = array("the ", "a ", "that ", "this ");
array_walk(av, create_function(’&v,k’, ’v = v . "mango";’));
print_r(av);
?>
至少省了一個for循環(huán)
5. 嵌套循環(huán)顯示表格的單元格
嵌套循環(huán)顯示表格的單元格,這是一個很老的話題哦,往往會要在某個單元格后邊加個條件判斷什么的,考慮是不是要輸出tr抑或是td標(biāo)簽。
俺這里介紹一個辦法,利用array_chunk函數(shù)能夠比較工整的輸出html,見下例,這個例子要輸出一個4行6列的表格:
<?php
arr = range(1, 24); //這個會生成一個數(shù)組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相關(guān)資料?1. 我在哪兒能得到php? 2. 有預(yù)編譯的二進(jìn)制版本嗎? 3. 我在哪兒能得到可選的php擴(kuò)展庫 ? 4. 我怎樣做才能使這些庫運(yùn)作起來? 5. 我在我的windows上用cvs得到最新版本的php源代碼, 我怎樣編譯它? 6. 我在哪兒能找到 browser capabilities file? 1. 我在哪兒
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時間
- PHP中獎概率的抽獎算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- PHP技巧:Smarty adodb分頁示例
- 如何用PHP獲取歌曲時間
- 《PHP設(shè)計(jì)模式介紹》第十二章 裝飾器模式
- PHP技術(shù)進(jìn)階 PHP SOCKET 技術(shù)研究
- Window 7/XP 安裝Apache 2.4與PHP 5.4 的過程詳解
- 解析在PHP中使用mysqli擴(kuò)展庫對mysql的操作
- 用PHP與XML聯(lián)手進(jìn)行網(wǎng)站開發(fā)
- php獲取$_POST同名參數(shù)數(shù)組的實(shí)現(xiàn)介紹
- input file獲得文件根目錄簡單實(shí)現(xiàn)
- 解析web文件操作常見安全漏洞(目錄、文件名檢測漏洞
- 相關(guān)鏈接:
- 教程說明:
PHP教程-PHP教程:五個使用PHP制作動態(tài)網(wǎng)頁的技巧
。