I regularly use your site to answer my PHP problems! 我經常使用您的網站,回答我的PHP的問題!”
馬特

在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秒