今天遇到了php變數名稱重複的問題,因為變數名稱相同,導致使用的switch出現錯誤。
這個狀況一來是提醒自己使用變數名稱應該要注意,二來也點出了一個問 題-就是如果一個頁面幾百行,幾千行,像php這種直譯式,又不需事先定義變數的程式語言,很可能導致變數的命名產生重複,勢必得小心避免。避免方式: 閱讀全文〈遭逢變數名稱重複的困擾〉
用來記錄人生的點點滴滴,包括學習記錄、工作、生活、觀察……
學習PHP的一些心得
今天遇到了php變數名稱重複的問題,因為變數名稱相同,導致使用的switch出現錯誤。
這個狀況一來是提醒自己使用變數名稱應該要注意,二來也點出了一個問 題-就是如果一個頁面幾百行,幾千行,像php這種直譯式,又不需事先定義變數的程式語言,很可能導致變數的命名產生重複,勢必得小心避免。避免方式: 閱讀全文〈遭逢變數名稱重複的困擾〉
語法:sprintf(格式字串,變數[,變數…])
原本以為格式字串裡所安排變數放置的位置,後面的變面也必須按順序放進去,不過若採用%1$s這種格式來撰寫格式字串,其中的1$代表是後面的變數參數的位置(順序),而$s則代表是字串變數,也就是原來的s,前面的%仍是不可省略。
Php的變數存取範圍,在函數裡外是有分隔的,其他狀況應該都是可以存取的,但不包括類別。Java裡,如果變數是在迴圈裡宣告,那麼迴圈外便無法存取;如果先在迴圈外宣告,迴圈裡則可以繼續使用。
Php標籤<?php ?>之外若有多餘的空格,也會被當作是輸出,如果在這些空格輸出之後有使用到header函數,就會顯示錯誤。Header函數使用前不能有任何的輸出。
這種意外的輸出有時是發生在引入的過程,例如func.php是存放自訂函數的檔案,如果這個檔案的<?PHP ?>區塊前後存在空白行,那麼就會在引入這個檔案後造成輸出,之後再使用header或者任何不能在輸出後使用的函數,就會出現錯誤訊息。
做網頁程式要養成良好的習慣--撰寫程式時務必將編碼也一併設定好,因為對於某些瀏覽器來講,不正確的編碼將導致結果超乎預料, 例如firefox3會自動調整瀏覽中的網頁網頁,同時會重新讀取該頁,這樣就導致重新整理或讀取頁面時會連續執行兩次,如果該頁內容必須送出資料,那麼就會送出兩次。 閱讀全文〈設定好正確文字編碼是好習慣〉
Php的register_global如果設定為on
那麼session變數的值很容就可以利用一般變數來更改,
例如$_SESSION[‘id’]可以很容易使用$id修改內容。需留意。
HEREDOC結束標籤的前後都不能有空格。