分享一个帝国兼容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;}是不是很简单呢,帝国这样的函数没有判断是不是数组的太多了,只是举例某一个函数作为说明。 感谢分享!!
手打原创帖子就是不一样,没有回帖也能被编辑推送到主页。
页:
[1]