現在讓我們來編寫一些更實用的指令碼。我們將檢查瀏覽頁面的訪問者用了什麼型別的瀏覽器。要達到這個目的,我們需要檢查使用者的agent字串,它是瀏覽器傳送的http請求的一部分。該資訊被儲存在乙個變數中。在php中,變數總是以乙個美元符開頭。我們現在感興趣的變數是$_server["http_user_agent"]。
注:$_server是乙個特殊的php保留變數,它包含了web伺服器提供的所有資訊,被稱為自動全域性變數(或「超級全域性變數」)。請查閱本手冊「自動全域性變數」的有關內容,以獲取更多資訊。這些特殊的變數是在php4.1.0版本引入的。在這之前,我們使用$http_*_vars陣列,如$http_server_vars。儘管現在已經不用了,但它們在新版本中仍然存在。
要顯示該變數,我們只需簡單地進行如下操作:
例子.列印乙個變數(陣列元素)
該指令碼的輸出可能是:
mozilla/4.0(compatible;msie5.01;windowsnt5.0)
php有很多種不同型別的變數。在以上例子中我們列印了乙個陣列的元素。陣列是一類非常有用的變數。
$_server只是php自動全域性化的變數之一。您可以查閱「保留變數」一節來檢視這些變數的列表,或者也可以建立如下的檔案來得到乙個完整的列表:
例子.利用phpinfo()來顯示所有預定義變數
<?php
phpinfo();?>
如果您在您的瀏覽器中開啟這個檔案,您將看到關於php完整的資訊,以及所有您可以使用的變數列表。
您可以在乙個php標識中加入多個php語句,也可以建立乙個**塊來做比簡單的echo更多的事情。例如,如果我們需要檢查internetexplorer,我們可以進行如下操作:
例子.結構控制與函式的使用
該指令碼的輸出可能是:
youareusinginternetexplorer
在這裡我們要介紹一些新的原理。我們用了乙個if語句。如果您對c語言的基本語法比較熟悉,則您應該對此很熟悉,否則,您可能需要拿起任何一本php介紹性的書籍並閱讀前面的兩三個章節。
以下我們進一步顯示如何進出php模式,甚至是在乙個php**塊的中間:
例子.混和html和php模式
該指令碼的輸出可能是:
youareusinginternetexplorer
和以上我們用乙個php的echo語句來輸出不同的是,我們跳出了php模式來直接寫html**。這裡很值得注意的一點是,對於這兩種情況而言,指令碼的邏輯效率是相同的。在判斷了strpos()函式的返回值是true或是false,也就是判斷了字串msie是否被找到之後,最終只有乙個html塊被傳送給瀏覽者。
PHP一些實用函式
轉換字串第乙個位元組為 0 255 之間的值 小寫字母 97 122 大寫字母 65 90 解決字串中包含字母數字中文轉換為大寫問題 function mystrtoupper a r.chr v return r 取得影象大小 可以用以解決確認上傳檔案是否為 返回乙個具有四個單元的陣列。索引 0 ...
一些預言 讓我們一起來見證
華盛頓 紐約 洛杉磯幾個大城市突然相繼出現一些兒童的奇怪行為,他們突然間都相繼不約而同說起一些人類聽不懂的語言,而調查發現,他們無一例外都是深藍兒童,據稱有人第一時間破譯了他們的預言,並翻譯如下 1 2010年3月份到5月份,全球爆發新一輪h1n1變種,當秘密死亡人數較多時候,各國才正式由 確認,為...
一些實用的模板
1 floyd判最小環 注 包含基本的floyd演算法。最好寫的單源最短路徑演算法。但時間複雜度o n 3 n 1000基本就用不了了。void floyd 3 dijkstra 迪傑斯特拉 演算法 單源最短路徑演算法 基本思路 每次確定到起點距離最短且距離尚未確定的點的dis,並對其所有鄰邊進行鬆...