零基礎學PHP需註意的細節問題(Continuous updating)
話不多說,此篇博客,將持續記錄易疏忽掉的註意事項,包括期間遇到的一些知識點性的問題。
Continuous updating Continuous updating Continuous updating
--------------------------------------------------------------------------------------------------
1:
用自己電腦當作服務器時,可以使用phpStudy或者wampserver軟件,省去自己搭配環境的時間,這兩款軟件安裝即可使用,以wampserver為例。wampserver安裝完成之後,php文件可放在wamp/www/目錄下的文件這裏,www目錄亦被稱為Apache的主目錄
2:
字符串是連續的字符序列,由數字,字母,字符組成。字符串中的每個字符只占用一個字節。有3種定義字符串的方式,分別是單引號,雙引號,和定界符(<<<)
,在定義簡單的字符串時,使用單引號是更加的合理的,因為不用搜索變量了,省時間,直接原樣輸出
3:
結束標識符必須單獨的另起一行,並且不允許有空格,在標識符前後有其他符號或者字符,也會發生錯誤。
<?php ?> //單獨成一行
4:
如果給定的數值超出了int類型所能表示的最大範圍,將會被當作float型處理,這種情況下稱為整數溢出,最後返回的類型也是float型
5:
浮點型的數值只是一個近似的值,所以要盡量避免浮點型數值之間進行比較大小,因為最後的結果往往是不準確的。
如:0.1+0.2==0.3,結果易出錯,正常為0.300000000004,所以在進行比較時盡量不要涉及浮點型
6:
聲明數組後,數組中的元素個數還可以自由的更改。只要給數組賦值,數組就會自動增加長度。
7:
資源(resource):在使用資源時,系統會自動啟用垃圾回收機制,釋放不再使用的資源,避免內存消耗殆盡。因此,資源很少需要手工釋放。
8:
預定義常量中,__FILE__ , 總共是四條‘_‘,不是兩條‘_’
9:
靜態變量的初始化只有在第一次的時候會進行執行,所以static 常用於瀏覽人數記載。
10:
Php中的 ‘/’(除法) 是會精確到小數的,而不是只是取整數就結束了,例如10/3 == 3.333333
11:
位運算符與邏輯運算符是不同的,別弄混了
舉個例子來解釋一下吧,
false&true-->false
false&&true-->false
單從結果上看,他們結果是一樣的,都是false
但是前者在運行的時候,計算機首先判斷第一個條件為false,然後判斷第二個條件true,然後判斷出結果為false
而後者,首先也是判斷第一個條件,當判斷出為false時,程序立即終止,因為不管第二個條件是什麽,結果一定為false
12:
按引用傳遞就是將實參的內存地址傳遞到形參中。這時,在函數內部的所有操作都會影響到實參的值,返回後,實參的值將會發生改變。
引用傳遞的方式就是傳值時在原基礎上加上&即可。
13:
當使用默認參數時,默認參數必須放在非默認參數的右側,否則函數可能會出錯
14:
從函數中返回值的時候,註意,return語句只能返回一個參數,也即只能返回一個值,不能一次性返回多個值,如果要返回多個結果,就要在函數中定義一個數組,將返回值存儲在數組中返回。
15:
一定要遵守php的命名規範,主要註意的幾個:
- 當代碼段較大的時候,上下應當加入空白行,兩個代碼塊之間只使用一個空行,禁止使用多行
- If () while () if,whie與括號之間留一個空格
- 小括號和函數之間要緊貼在一起
- 引用變量要帶有r前綴,比如&$rExam
- 常量/全局常量應該全部使用大寫字母
- 全局變量,靜態變量前綴都要帶上s
- 函數命名都要小寫,多個單詞_分隔
16:
aciton="#" 代表提交數據到本頁
17:
post與get的區別:
表示表單中的數據以"post"方法傳遞。
Form提供了兩種數據傳輸的方式——get和post。
二者主要區別如下:
1、Get是用來從服務器上獲得數據,而Post是用來向服務器上傳遞數據。
2、Get將表單中數據的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用“?”連接,而各個變量之間使用“&”連接;Post是將表單中的數據放在form的數據體中,按照變量和值相對應的方式,傳遞到action所指向URL。
3、Get是不安全的,因為在傳輸過程,日誌會被第三方看到。用戶也可以在瀏覽器上直接看到提交的數據。Post的所有操作對用戶來說都是不可見的。
4、Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在後面的提到)。
5、Get限制Form表單的數據集的值必須為ASCII字符;而Post支持整個ISO10646字符集。
6、Get是Form的默認方法。
使用Post傳輸的數據,可以通過設置編碼的方式正確轉化中文;而Get傳輸的數據卻沒有變化。(CSDN)
18:
字符串可以用單引號,雙引號,定界符3種方法來進行定義。
而指定一個簡單字符串的最簡單的方法就是用單引號括起來,當使用字符串時,很可能在該串中存在著與php的腳步混淆的字符,因此必須要做轉義語句,這就要在它的前面使用轉義符號”\”。
“\”是一個轉義符,緊跟在它後面的第一個字符將變得沒有意義或有著特殊的意義。如果要在字符串中表示單引號,就要用到轉義字符
19:
在所有數據在插入數據庫之前,最好都有必要的應用addslasshes()函數進行字符串的轉義,以免特殊字符未經轉義在插入數據庫時出現錯誤。
轉義後的可以用stripcslashes()在轉義回來
20:
漢字占兩個字符,數字,英文,小數點,下劃線和空格粘占一個字符
一周內,每天都會持續更新不同的註意事項筆記,最後會將所寫的知識點進行歸類整理。
如果你有認為重要的註意事項或遇到的難題,方便的評論到下方,最後歸結整理,共同進步,共同學習。
零基礎學PHP需註意的細節問題(Continuous updating)