摘要:最近計劃把手冊,認真的先過一遍。語言參考類型新認知強制轉換類型用。后期靜態綁定從這里開始語言參考生成器新認知生成器汗水的核心是關鍵字。語言參考預定義變量超全局變量前一個錯誤信息原始數據以上
最近計劃把 PHP手冊,認真的先過一遍。記錄一些以前不知道,不明確的知識。
語言參考 > 類型【新認知】強制轉換類型用 settype( mixed $var, string $type )。判斷變量的類型用is_type 函數。例如:
if (is_int($an_int)) { $an_int += 4; } if (is_string($a_bool)) { echo "String: $a_bool"; }
判斷變量
is_array( mixed $var ) is_bool( mixed $var ) is_float( mixed $var ) is_integer( mixed $var ) is_null( mixed $var ) is_numeric( mixed $var ) //檢測變量是否為數字或數字字符串 is_object( mixed $var ) is_resource( mixed $var ) is_scalar( mixed $var ) //檢測變量是否是一個標量 integer、float、string 或 boolean is_string( mixed $var )
判斷函數和方法
function_exists( string $function_name ) method_exists( mixed $object, string $method_name ) // 判斷類的方法Boolean 布爾類型
【遇到坑】(string) "0.00" 被認為是 True,且不為空
$str = "0.00"; $ret = !empty($str) ? $str : "5.00"; echo $ret; //output:0.00
【遇到坑】當字符串 與 數字比較時,會被轉換為數字之后進行比較
//將all轉換為數字時候為0 var_dump(0 == "all"); // TRUE, take careInteger 整型
【新認知】整型的最大值可以用常量 PHP_INT_MAX 表示
【新認知】PHP 沒有像 C++ / JAVA 的整除運算,類似 1 / 2 ,PHP 返回 float 0.5
【舊回顧】轉換為整型可以用(int) 或者 (integer) 強制轉換。或者通過函數 intval() 來轉換。
Float 浮點型【新認知】比較浮點數的方法
String 字符串【新認知】使用函數 ord() 和 chr() 實現 ASCII 碼和字符間的轉換(PS:這點和 Python 是一樣的)
Array 數組
【新認知】 PHP 中沒有多帶帶的“byte”類型,已經用字符串來代替了。【新認知】 unset()函數允許刪除數組中的某個鍵,但是數組的鍵不會重新索引。可以使用 array_values() 函數重新索引。
【遇到坑】避免數組 $foo[bar] 的寫法,使用 $foo["bar"]
【新認知】如果一個object類型轉換為 array,則結果為一個數組,其單元為該對象的屬性。鍵名將為成員變量名,不過有幾點例外:整數屬性不可訪問;私有變量前會加上類名作前綴;保護變量前會加上一個 "*" 做前綴。這些前綴的前后都各有一個 NULL 字符。