php 7.2 一些注意事项php

/ / 2023-04-22   阅读:2513
php 7.2 一些注意事项...

each 函数 在php7.2已经设定为过时:

<?php
$b = array();
each($b);
// Deprecated:  The each() function is deprecated. This message will be suppressed on further calls


count 函数在php7.2将严格执行类型区分.  不正确的类型传入, 会引发一段警告: 

<?php
count('');
// Warning:  count(): Parameter must be an array or an object that implements Countable


create_function 函数在php7.2已经设定为过时:

<?php
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "New anonymous function: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
// outputs
// New anonymous function: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
// Warning This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.


解决方法: 


替代each:

function fun_adm_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;
}


替代count:

function fun_adm_count($array_or_countable,$mode = COUNT_NORMAL){
    if(is_array($array_or_countable) || is_object($array_or_countable)){
        return count($array_or_countable, $mode);
    }else{
        return 0;
    }
}

 

替代create_function:

<?php
    $fun = function ($str ){echo $str}
    $fun('Yuan');


我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈