php更新到7.2後遇到的問題

前兩天發現服務器有漏洞,需要升級服務器,服務器使用的是wamp的集成環境,直接把wamp升級到3.1.9的了,php+mysql+apache都升級了。

php是升級到7.2.18了,結果一打開系統,問題就來了,後來網上一查,php到7.2版本後做了以下改動:

1.each()函數被廢棄。解決方法,自己寫一個相同功能的函數:

function func_new_each($array){
       $res = array();
       $key = key($array);
       if($key !== null){
           next($array); 
           $res[1] = $res['value'] = $array[$key];
           $res[0] = $res['key'] = $key;
       }else{
           $res = false;
       }
       return $res;
}

2.count()函數更加嚴格,參數必須爲數組或對象,否則會報錯。解決方法:

if(empty($arr)){
    $arr = array();
}
count($arr);

--------------或者------------

if(is_array($arr)){  
  count($arr);  
}

3.create_function()函數被廢棄,解決方法,可使用匿名函數代替:

$newfunc = function ($a,$b){
      return "ln($a) + ln($b) = " . log($a * $b);
};

以上是我遇到的問題以及解決方法,php7.2其他的改動暫未發現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章