PHP中的num是一個比較神奇的函數(shù),它可以將字符串轉(zhuǎn)化成數(shù)字型變量,并作為返回值返回。
下面讓我們來看一個簡單的示例:
$str1 = "123"; $str2 = "1abc"; $num1 = num($str1); $num2 = num($str2); echo $num1; // 123 echo $num2; // 1
在上面的示例中,我們定義了兩個變量$str1和$str2分別存儲了字符串"123"和"1abc",接著我們分別使用num()函數(shù)將它們轉(zhuǎn)換為數(shù)字類型變量$num1和$num2,結果顯示$num1的值為123,而$num2的值為1。
num()函數(shù)的執(zhí)行流程如下:
- 首先將字符串中非數(shù)字的字符過濾掉;
- 接著將字符串轉(zhuǎn)化為數(shù)字型變量。
按照上述流程,如果一個字符串中包含多個數(shù)字,num()函數(shù)就會返回第一個數(shù)字,并忽略后面的內(nèi)容。比如下面的代碼:
$str3 = "1a2b3c"; $num3 = num($str3); echo $num3; // 1
可以看到,執(zhí)行上述代碼后,num()函數(shù)返回值為1,因為它只識別第一個數(shù)字1。
此外,如果字符串中不包含任何數(shù)字,num()函數(shù)會返回0。如果字符串中包含小數(shù)點,num()函數(shù)會自動將其轉(zhuǎn)化為浮點型變量。
最后,需要注意的是,用num()函數(shù)將字符串轉(zhuǎn)化為數(shù)字后,應該對返回值進行類型判斷,以確保程序的正確性,下面是一個示例代碼:
$str4 = "5"; $num4 = num($str4); if(is_int($num4)){ echo "num4是整數(shù)類型"; } else { echo "num4不是整數(shù)類型"; }
上面的代碼將返回“num4是整數(shù)類型”,因為$num4中存儲的是一個整數(shù)類型的數(shù)字。
綜上所述,num()函數(shù)是一個非常常用的函數(shù),尤其在業(yè)務數(shù)據(jù)的處理過程中,它可以很好地將字符串轉(zhuǎn)換為相應的數(shù)字類型變量。