身為一個知識粗淺的前端
寫php,遇到問題就是求救stackoverflow...
php是怎麼定義常數的?
常數是什麼,我都這樣記的:固定的數字。
什麼是固定的數字呢?絕對不是你的三圍,舉個例子來說,數學的pi是3.14159..
pi是一個不會改變的數字,因此如果是我,並不會把它(pi)拿來當變數
(簡單來講變數是會變的數字,比方說我的三圍),而常數就是不變的數字。
因此我會這樣定義pi:
defind('常數命名',常數的值可以是字串或是數字);
define('PI',3.14159);
這樣就是定義好PI這個常數了。
定義常數有幾個特性:
define('MY_HOUSE_LOCATION',array("台北"=>"忠孝東路", "台中"=>"XXX路", "嘉義"=>"XXX路") );
寫php,遇到問題就是求救stackoverflow...
php是怎麼定義常數的?
常數是什麼,我都這樣記的:固定的數字。
什麼是固定的數字呢?絕對不是你的三圍,舉個例子來說,數學的pi是3.14159..
pi是一個不會改變的數字,因此如果是我,並不會把它(pi)拿來當變數
(簡單來講變數是會變的數字,比方說我的三圍),而常數就是不變的數字。
因此我會這樣定義pi:
defind('常數命名',常數的值可以是字串或是數字);
define('PI',3.14159);
這樣就是定義好PI這個常數了。
定義常數有幾個特性:
- '通常'常數的命名會以英文大寫表示,主要是想跟一般的變數做區隔,或是讓其他coding的人知道,該變數之所以是大寫,是有特定的意義存在,如沒有必要,盡量不要去更動。
- 通常常數只會宣告一次,常見的情況是一個網站裡面有一個congif檔案,裡面可能寫入整個網站會用的常數。
- 常數的前面是沒有$符號,這點跟變數不太一樣
- 例,echo一個變數:echo $my_weight;
- 例,echo一個常數:echo WEB_SITE_NAME;
- 常數的值只能是數字或字串...m...
因此我今天就在想,我該如何定義一個常數,可是值是Array呢?
第一次我就這樣寫:
天真的以為可以這樣寫,但這真是一個很慘的寫法啊..完全不能用。
其中一個答案是可以使用serialize();
不過我不確定是否有其他方式,我只能說我查到了這個方法。
定義的時候這樣用:
- define("MY_HOUSE_LOCATION", serialize(array("台北"=>"忠孝東路", "台中"=>"XXX路", "嘉義"=>"XXX路")));
用的時候這樣寫,要記得unserialize():
- $my_house_location = unserialize(MY_HOUSE_LOCATION);
foreach($my_house_location as $k=>$v){
//看你想做什麼
}
沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD