當一個字符串被當作數字來求值時,根據以下規則來決定結果的類型和值。
如果包括“.”,“e”或“E”其中任何一個字符的話,字符串被當作 float 來求值。否則就被當作整數。
該值由字符串最前面的部分決定。飛飛,Asp技術樂園如果字符串以合法的數字數據開始,就用該數字作為其值,否則其值為 0(零)。合法數字數據由可選的正負號開始,後面跟著一個或多個數字(可選地包括十進制分數),後面跟著可選的指數。飛飛Asp!技術樂園指數是一個“e”或者“E”後面跟著一個或多個數字。
- < ?php
- $foo = 1 + "10.5";
// $foo is float (11.5)- $foo = 1 + "-1.3e3";
// $foo is float (-1299)- $foo = 1 + "bob-1.3e3";
// $foo is integer (1)- $foo = 1 + "bob3";
// $foo is integer (1)- $foo = 1 + "10 Small Pigs";
// $foo is integer (11)- $foo = 4 + "10.2 Little Piggies";
// $foo is float (14.2)- $foo = "10.0 pigs " + 1;
// $foo is float (11)- $foo = "10.0 pigs " + 1.0;
// $foo is float (11)- ?>
如果想測試本節中的任何PHP字符串轉換為數值的例子,可以拷貝和粘貼這些例子並且加上下面這一行自己看看會發生什麼
- < ?php
- echo "$foo==$foo; type is " .
gettype ($foo) . "< br />n";- ?>
不要指望在將一個字符轉換成整型時能夠得到該字符的編碼(可能也會在 C 中這麼做)。如果希望在字符編碼和字符之間實現PHP字符串轉換為數值,請使用 ord() 和 chr() 函數。