因排查問題,發現目前生產環境的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 ...