在PHP中的類型
變量必須是某種類型的,但在PHP類型沒有明確定義,而不是變量的類型是由上下文決定的變量使用。 因此,這意味著變量類型時,他們被分配一個值,有一個類型。
自動類型轉換
PHP自動轉換從一個類型到另一個,這可能會導致意想不到的結果。 例如,從虛假到一個字符串轉換可以有意想不到的效果。
value = false ; $值= FALSE;
" The value is $ value " ; 呼應 “的值是$值”;
returns : The value is / /返回值:
為了解決這類問題,PHP需要被指示如何處理變量。
value = false ; $值= FALSE;
" The value is " . ( int ) $ value ; 呼應 “價值”(int)的 美元價值。
returns : The value is 0 / /返回值是0
正如你可以看到投下變量,你需要使用的地方你要投在前面的括號中的變量的類型。 這適用於該類型的變量的正投。 注意,你應該小心你投,因為它可以有一些意想不到的結果。例如鑄造到一個整數的一小部分的分數四捨五入到最接近的整數。
與數字字符串轉換
你知道你可以添加一個森坦斯和數字在一起,形成另一個號碼? 以及在PHP中,你可以! unfortunatley這可能會導致意想不到的結果,所以你需要小心你如何處理這個。
value = 1 + " 4.5 " ;值= 1 +“4.5”;
is float with the value 5.5 / /值5.5浮動
value = 1 + " tom " ; 美元值= 1 +“湯姆”;
is integer with the value 1 / /值1的整數
value = 1 + " 2 Green Bottles " ;值= 1 +“綠瓶”;
is integer with the value 3 / /值3的整數
value = 1 + " Green Bottles 2 " ; 美元值= 1 +“綠瓶2”;
is integer with the value 3 / /值3的整數
正如你可以看到添加一個字符串,一個數字時,如果字符串的第一個部分是一個數字,然後相加。 任何其他的號碼被忽略。 如果你添加一個字符串,在浮動到一個整數的結果是一個浮點數。 再次,正確的方法來解決這個問題是檢測和(或)投出正確的類型的變量。
檢測變量的類型
可以通過使用下面的功能,只需將變量傳遞給所需的功能,它將返回true,如果它的類型是確定一個變量的類型。 這是為防禦性編程的技術。
var = " hello " ; $ VAR =“你好”;
Returns true if a variable is a BOOLEAN / / 返回 true, 如果是一個布爾變量
$ var ) is_bool(VAR)
Returns true if a variable is a STRING / / 如果一個變量是一個字符串,則返回 true
$ var ) IS_STRING(VAR)
Returns true if a variable is a NUMERIC STRING / / 返回 true,如果一個變量是一個數字字符串
$ var ) is_numeric(VAR)
Returns true if a variable is an INTEGER / / 返回 true,如果一個變量是一個整數
$ var ) is_int(VAR)
Returns true if a variable is an ARRAY / / 如果變量是數組,則返回 true
$ var ) IS_ARRAY(VAR)
Returns true if a variable is an OBJECT / / 如果變量是一個對象,則返回 true
$ var ) is_object(VAR)
Returns true if a variable is NULL / / 如果一個變量是NULL,則返回 true
$ var ) is_null(VAR)
Returns true if a variable is a FLOAT / / 返回 true 如果一個變量是一個float
$ var ) is_float(VAR)
這是很重要的,作為一次特定變量類型已確定,然後你可以是一定的效果上進行任何操作。
已提供任何意見。
書面由多米尼克·斯金納
最後更新:2011年10月25日十六點00分38秒