最近這段自己學了些PHP, 繼續記錄筆記, 方便以後查看, 之前的JS和Swift這兩天找時間整理完善下. PHP就不像之前那麼墨跡了, 上干貨.
PHP是一門和服務器進行交互的語言, 面向對象, 其他特點懶得說, 總結一句話, 現在很火, 也很實用, 學會了也沒錯.
在PHP中是沒有明確的類型修飾符的, 所以聲明的變量也不像其他語言要給一個類型, 甚至只是一個var, 在PHP中, 變量用$作為標識代表, 其余的特性和JS很像, 沒有類型, 類型是可以變化的, 都是合法的.
$string = "JianweiWang"; //聲明一個變量
$string = 5; //修改$string的值為5, 合法
echo $string; //5, 打印結果為5
變量名的命名規則, 和其他的語言也挺像的, 在$標識開頭的基礎上, 字母下劃線開頭, 組成也只能有數字字母下劃線(正則中為/\w/), 變量名中不允許包含空格, 區分大小寫.($_name, $name, $name1, 這些都是合法的).
再來說說PHP中的空類型, null, NULL, 使用unset銷毀的變量, 最後的類型都會統一為NULL.
常量在一個程序的健壯性上起了非常大的作用, 不會因為項目的轉手造成變量名不清而出現的變量重新賦值等不安全的因素.
PHP並不像其他語言中, 常量有專門的修飾詞, 或者在js中用閉包聲明一個常量, 而是有專門的函數方法來定義常量.
define("PI", 3.14, true);
三個參數, 第一個參數是常量名, 要求一個字符串類型, 第二個為常量的value(值), 第三個參數為是否對大小寫敏感, 如果設置為true, 即不敏感, 默認都是false, 一般沒人那麼無聊不敏感吧- -.
所以上面聲明就是一個值為3.14的常量, 它是不允許被人修改的, 當然名字也不能有$標識, 而且設置了true, 所以這個常量可以用PI訪問, 也可以是pI.
有的時候, 為了防止常量被重新定義, 我們需要測試下這個常量是否存在, 所以要用另一個方法. defined(), 參數為常量名字符串, 返回值是bool類型, 不多說了...
數組是數據集合的一種形式, 還是正常的老規矩, 簡單的介紹下, 有待以後增加方法的說明, 在PHP中定義一個數組一般有兩種方式, 一種是使用array構造器, 一種是字面量的形式.
array構造器
$array = array(1, 2, 3, 4, 5);
字面量形式
$array = [1, 2, 3, 4, 5];
在PHP的數組中一切更加明朗(貌似沒有字典, 因為可以使用關聯數組), 它將key和value的關系相比JS更加的明顯, 索引是可以修改的, 而不是只能是傳統的0, 1, 2, 3. 這也就是關聯數組.
關聯數組的初始化
還是兩種方式, 構造器, 字面量.
類型構造器
$fruit = array(
'apple' => "蘋果",
'banana' => "香蕉",
'pineapple' => "菠蘿"
);
字面量
$fruit = [
'apple' => "蘋果",
'banana' => "香蕉",
'pineapple' => "菠蘿"
];
這個是不是長得很像字典了就, 這裡的訪問和JS一樣的, 通過key值進行訪問.
print_r($fruit['apple']); //這裡就能得到蘋果.
遍歷一個數組一般使用foreach方法, 這裡簡單介紹下, 大家自己多寫寫.
foreach($fruit as $key => $value){
echo $key.$value.'<br />';
}
這樣會打印出
apple蘋果
banana香蕉
pineapple菠蘿
函數, 是將一塊能夠復用的代碼封裝起來, 在以後的使用中能夠反復調用, 提高了代碼的可讀性, 這個和其他的語言也是一樣的, 也不贅述了, 主要講點不同的, 比如參數表之類的.
function func(){};
在PHP中, 這也是一個函數的基本結構, 不過它不同於JS的一些使用, 比如說是隱式的觸發等等, 不過通過函數名字符串賦值給變量名, 然後通過變量名觸發函數, 這些和底層的實現還是很類似的.
function method(){
echo "wang";
}
$func = "method"; //將method()方法給予變量$func
mechod(); //調用method()方法
$func(); //調用$func, 也是調用method(), 這種方式稱之為可變函數
PHP有大量的內置函數, 就不細講了.