PHP程序員不可忽略的幾點精華_PHP教程
推薦:淺談PHP中的一些常識:類篇我把一些PHP中類的常識性整理出來,讓新手們更容易掌握PHP類,以便能快速看懂那些老大們寫的程序,呵呵,不過比較少,希望老大們補(bǔ)充一下或者修正其中錯誤理解。 Q:PHP中的類可以有構(gòu)造函數(shù)么? A:可以,只要函數(shù)名和類名相同,這個函數(shù)將成為構(gòu)造函數(shù)。在
我發(fā)現(xiàn)很多的PHP程序員,尤其是學(xué)習(xí)還不是很久的,都不知道PHP的精華所在。Perl當(dāng)年如何在商界出名?其強(qiáng)大的正則表達(dá)式。而PHP呢?他是一門從Unix下發(fā)展起來的語言,當(dāng)然也就繼承了Perl的很多特點,同時C的優(yōu)點都有�?焖�、簡潔、明了,尤其是C程序員,PHP是至愛,我就是深愛著“PHP”(都忘了女友了:))。這里,我想來寫一篇PHP的變量、數(shù)組應(yīng)用技巧和PHP的正則表達(dá)式、PHP的模板應(yīng)用,以后有時間再寫PHP與COM、PHP與XML的完全結(jié)合。
1、變量、數(shù)組的應(yīng)用技巧
(1)很多人用得不多的數(shù)組函數(shù)。foreach、list、each。分別舉幾個例子,應(yīng)該就能知道了。例:
$data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3');
while(list($subscript, $value) = each($data))
{
echo "$subscript => $value :: ";
echo "$subscript => $value\n
";
}
reset($data);
foreach($data as $subscript => $value)
{
echo "$subscript => $value :: ";
echo "$subscript => $value\n
";
}
(2)函數(shù)的變量、變量的變量、變量的“指針”:看下例:
//變量的變量
$var = "this is a var";
$varname = "var";
echo $$varname;
//函數(shù)的變量
function fun1($str) {
echo $str;
}
$funname = "fun1";
$funname("This is a function !");
?>
變量的“指針”。這個指針加上了雙引號,表明他不是真正的指針�?纯聪吕�
function($a) {
$a ;
}
$c = 0;
function($c);
echo $c; //$c仍為0
function(&$a) {
$a ;
}
$c = 0;
echo $c; //$c為1
?>
之所以稱其為“指針”,就是因為他有了和C語言中指針相同的功能。但這又不是真正的指針,只能夠是這樣的去理解。
2、正則表達(dá)式
正則表達(dá)式是一個非常大的題目,Perl的正則表達(dá)式的強(qiáng)大是聞了名的。而PHP也不弱,他繼承了Perl的正則表達(dá)式法則,還有自己的一套法則。這里只說PHP自己的正則表達(dá)式。
正則表達(dá)式是最基本的元素。簡單地說就是一套規(guī)則,用于去判定其它的元素是不是符合自身的規(guī)則,或者說是不是有相同的特征描述。
正則表達(dá)式的開始符:^,結(jié)尾符$,這兩個符號間的是匹配的元素。如檢查一個電話號碼是不是打往北京的號,用正則表達(dá)式表示就是“^010$”。只要前3位區(qū)號是010,就是北京的號,后面的電話號碼就不用管了。然后,用正則表達(dá)式匹配函數(shù)ereg來判斷,例:
$pattern = "^010$";
$phone = "01080718828";
if(ereg($pattern, $phone))
echo "打往北京的號";
else
echo "不是打往北京的號";
?>
這就是正則表達(dá)式。北京的電話都是8位數(shù)字的,那我要知道這個號碼是不是正確了?假如他按了9位號呢?如果判斷正誤?這就要用到正則表達(dá)式的字符簇。那么上例的正則表達(dá)式就要這樣寫:^010[0-9]{8}$,就能同時判斷號碼是不是符合規(guī)則。正則表達(dá)式有很多的應(yīng)用,像LBB、VBB論壇在發(fā)貼時的所謂VBB代碼LBB代碼的解析,都是用正則表達(dá)式完成的。
3、模板
知道了正則表達(dá)式的功能,那么就可以知道模板了。什么是模板?舉個例子吧?一般寫網(wǎng)頁用到了后臺程序的時候,都是在網(wǎng)頁里面插入程序代碼。如PHP。這就是HTML和PHP的混寫。這樣的優(yōu)點是讀取速度快,缺點是如果大家分工合作做網(wǎng)站,那么非程序員就不會改網(wǎng)了。
而用模板,則可以達(dá)到分工的最合理化。美工只做頁面,程序只寫后臺,然后再合起來。優(yōu)秀的Jsp提供了自定義標(biāo)簽的功能很好地完成了模板功能。而主流的PHP如何做到呢?就是利用正則表達(dá)式來做到的。可以去網(wǎng)上下載一個PHPLIB,里面的PHP目錄下有一個template.inc的源代碼文件,那就是用PHP實現(xiàn)模板套用的類。
由于篇幅有限,這里只是簡單地說一說這些內(nèi)容,如果真的想學(xué)的話,還請看專門的教材。如光要講清楚正則表達(dá)式就可以寫上一本小書。
分享:PHP 5.0對象模型深度探索面向?qū)ο缶幊瘫辉O(shè)計來為大型軟件項目提供解決方案,尤其是多人合作的項目. 當(dāng)源代碼增長到一萬行甚至更多的時候,每一個更動都可能導(dǎo)致不希望的副作用. 這種情況發(fā)生于模塊間結(jié)成秘密聯(lián)盟的時候,就像第一次世界大戰(zhàn)前的歐洲。 //haohappy注:喻指模塊間的關(guān)聯(lián)度
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時間
- PHP中獎概率的抽獎算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- PHP安全之Register Globals
- 淺談PHP開發(fā)團(tuán)隊的管理之道
- 《PHP設(shè)計模式介紹》第六章 偽對象模式
- 在windows平臺上構(gòu)建自己的PHP實現(xiàn)方法(僅適用于php5.2)
- php調(diào)用MsSQL存儲過程使用內(nèi)置RETVAL獲取過程中的return值
- php如何實現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)文件下載到服務(wù)器
- php記錄頁面代碼執(zhí)行時間
- 利用PHP的OOP特性實現(xiàn)數(shù)據(jù)保護(hù)
- PHP中addcslashes函數(shù)與stripcslashes的用法
- 揭秘php獲得網(wǎng)頁文件跟路徑
- 相關(guān)鏈接:
- 教程說明:
PHP教程-PHP程序員不可忽略的幾點精華
。