PHP5 3中 in array 的乙個坑

2021-09-04 02:28:12 字數 670 閱讀 5271

因排查問題,發現目前生產環境的php版本5.3中有這個問題:

echophp_int_max;

$str =

"114100007160061630632"

; $arr =array(

"114100007160061630631");

var_dump(in_array($str,$arr));

echo'php:'

.phpversion();

exit;

對於純數字的非嚴格比較,因超出

int最大值,

5.3中給出的是結果是

true.

5.5中驗證是已經修復的.

解決方案:

可以新增第三個引數,嚴格比較。

var_dump(in_array($str,$arr, true));

但是嚴格比較請注意帶來的新的問題:比方說

var_dump(in_array(1,

array(

'1'),true))

結果是false,

是否影響原有程式

大家可以自己關注下。

php5 3管理操作

php 5.3.3 中 php fpm 的重啟 終止操作命令 php 5.3.3 原始碼中已經內嵌了 php fpm,不用象以前的php版本一樣專門打補丁了,只需要在configure的時候新增編譯引數即可。關於php fpm的編譯引數有 enable fpm with fpm user www w...

PHP5 3中新增的常量 DIR

在php中有乙個常量 file 它主要用來指向當前執行的php指令碼。但php沒有直接提供該指令碼所在目錄的常量。也就是說如果我們要得到當前php指令碼所在的目錄,需要使用dirname 這個函式 dir dirname file dir dirname file 現在在php5.3中會增加了乙個新...

php5 3使用手冊,php5 3 注意事項說明

php5.3 新特性1.支援命名空間 namespace 5.3以前 class zend db table select 表示當前這個類檔案位於zend db table下 5.3namespace zend db table class select 2.支援延遲靜態繫結5.3以前 class ...