今天的第二堂, 本想介紹一下loops(循環), 但是想了一樣, 還是先介紹一下寫variable(變數)時的規則
這樣子, 以後講解就容易多了
首先, 我們上一堂就介紹了幾個PHP的重點
1. PHP開頭是 <?php
2. PHP結尾是 ?>
3. echo和print兩者可以共用, 但print能當作function來用, echo則不能
好啦, 那麼我們就現在看看今天這堂課的內容吧
首先, PHP這個語言, 變數(variable)一樣需要定義, 這個是寫程序上的一個重要的東西喔...
但是, 有些的variable, 屬於 "Predefined Variable", 意思就是, "預設屬性的變數"
比如說, 我們打開phpBB, 或者Discuz這些論壇程序, 或者很多程序上, 都會有類似的變數:
DOCUMENT_ROOT 這個是一個變數, 程序會按照這個變數後面所指定的值(value), 在這個例子上,它的值, 是程序或者某個檔案的位置
HTTP_USER_AGENT 這個在Discuz的「首頁四格」這款插件中, 可以很容易看到喔.
這個變數所指定的值, 就是讓系統去檢查出, 目前登陸網站, 或者某個網頁上的訪客, 他們正在使用的瀏覽器, 系統作業等相關的東西
但是, 這些變數, 不是說, 我只要填HTTP_USER_AGENT就可以得出結果
讓我們看看「首四格」的例子吧
這個插件有一個檔案要改的, include/counter.inc.php
為了只讓讀取, 安全起見, 所以將inc變成php副檔名....
看看裡面這一段
- $visitor['agent'] = $_SERVER['HTTP_USER_AGENT'];
-
- list($visitor['month'], $visitor['week'], $visitor['hour']) = explode("t", gmdate("YmtwtH", $timestamp + $_DCACHE['settings']['timeoffset'] * 3600));
這裡, vistitor是 discuz開發人員自己定義
將每一個訪客都要求一次回應....
再看看首四格要求什麼?
- if(!$sessionexists) {
-
- if(strpos($visitor['agent'], 'Netscape')) {
-
- $visitor['browser'] = 'Netscape';
-
- } elseif(strpos($visitor['agent'], 'Lynx')) {
-
- $visitor['browser'] = 'Lynx';
-
- //(太多不盡錄....)//
其實我舉這個例子是因為大家比較容易明白有了這句, 服務器就可以去獲取這些結果了...
其實, 主機(服務器)上的logs裡, 都會有記錄這些東西, 那是因為HTTP_USER_AGENT是Apache的預設功能...
在這裡我再用Discuz講講, 你們會發現Discuz是用DISCUZ_ROOT
那是因為Discuz自己定義了這項...只是不用document_root而已
好吧, 讓我們看看variable的一些規則
1. 所有的variabel(變數)的開頭必需是$
2. 在$之後, 任何的變數的第一個開頭, 必需(A-Z), (a-z), 或者直接一個 _, 但不能以數字開頭
例子: $year $_year $YEAR $Year
3. 在第一個開頭後, 你喜歡用英文字或者數字都可以
例子: $year $yea4 $ye546 $y87ee
4. 變數不能存在空白格, 需要分開兩個或者以上的名稱, 只能用_來代替空白格
例子: $year_2006 $_year_2007_jwxie_at_new_York
5. 只要變數的其中一個字母, 或者架構上不同, 就算同名, 兩個變數仍然是兩個變數
例子: $Variable 和$variable,兩個在執行PHP時, 是兩個獨立的...但不建議這樣子去定義..浪費時間....
來, 讓我們看看這種EXAMPLE
- <?php
-
- // Define my variables.
-
- $year = "2003";
-
- $june_avg = "88";
-
- $page_40_little_boy = 'what is it';
-
- ?>
在以上的例子中, 你可以看到不同的組合喔....
再接下來, 我再講多兩個規則
在PHP使用數字是一定要注意的, 因為它只會接受某幾種數字格式
Valid Numbers in PHP (PHP接受的數字格式)
| Numbers |
Type |
| 1 |
Integer |
| 1.0 |
Floating point |
| 1972 |
Integer |
| 19.72 |
Floating point |
| -1 |
Integer |
| -1.0 |
Floating point |
Invalid Numbers in PHP (PHP不接受的數字格式)
假如說需要1/4的話, 那麼你只能寫1又1分之4 (1 and 1 over 4), 那麼你只能用 1.25了
同樣 1/4, 只能用 0.25
今天第二堂的重點
1. 有些變數已經是「預設屬性的變數」
2. 5個寫變數的必需要注意的規則
3. PHP接受和不接受幾種的數字格式....要注意


Filed under:Uncategorized Category Author:John Wong
No Comments »