婷姐 发表于 2024-11-3 14:12:17

分享一个帝国兼容php8的兼容写法

分享一个帝国兼容php8的兼容写法,比如帝国源代码,connect.php核心文件的某函数//返回ID列表function eReturnInids($ids){      if(empty($ids))      {                return 0;      }      $dh='';      $retids='';      $r=explode(',',$ids);      $count=count($r);      for($i=0;$i<$count;$i++)      {                $id=(int)$r[$i];                if(!$id)                {                        continue;                }                $retids.=$dh.$id;                $dh=',';      }      if(empty($retids))      {                return 0;      }      return $retids;}如果在php8+以上,不是数组而产生的错误或警告,甚至某些地方会终止执行。那怎么改呢。其实很简单的,那我们自定义一个函数写到connect.php文件最尾部。自定义函数如下:
function php8_count($a){return is_array($a)?count($a):0;}那帝国的源代码就可以改为
//返回ID列表function eReturnInids($ids){      if(empty($ids))      {                return 0;      }      $dh='';      $retids='';      $r=explode(',',$ids);      $count=php8_count($r);      for($i=0;$i<$count;$i++)      {                $id=(int)$r[$i];                if(!$id)                {                        continue;                }                $retids.=$dh.$id;                $dh=',';      }      if(empty($retids))      {                return 0;      }      return $retids;}是不是很简单呢,帝国这样的函数没有判断是不是数组的太多了,只是举例某一个函数作为说明。

婷姐 发表于 2024-11-3 14:12:46

感谢分享!!

IT618发布 发表于 2024-11-3 14:13:09


手打原创帖子就是不一样,没有回帖也能被编辑推送到主页。
页: [1]
查看完整版本: 分享一个帝国兼容php8的兼容写法

创宇盾启航版免费网站防御网站加速服务