您好,欢迎访问一九零五行业门户网

让array_column()函数兼容低版本PHP

array_column 用于获取二维数组中的元素(php 5.5新增函数),但我们有时候需要在低版本的php环境中使用,只要做一个小的改造即可...
自定义一个函数i_array_column(),写到tp的common中~~function i_array_column($input, $columnkey, $indexkey=null){
    if(!function_exists('array_column')){ 
        $columnkeyisnumber  = (is_numeric($columnkey))?true:false; 
        $indexkeyisnull            = (is_null($indexkey))?true :false; 
        $indexkeyisnumber     = (is_numeric($indexkey))?true:false; 
        $result                         = array(); 
        foreach((array)$input as $key=>$row){ 
            if($columnkeyisnumber){ 
                $tmp= array_slice($row, $columnkey, 1); 
                $tmp= (is_array($tmp) && !empty($tmp))?current($tmp):null; 
            }else{ 
                $tmp= isset($row[$columnkey])?$row[$columnkey]:null; 
            } 
            if(!$indexkeyisnull){ 
                if($indexkeyisnumber){ 
                  $key = array_slice($row, $indexkey, 1); 
                  $key = (is_array($key) && !empty($key))?current($key):null; 
                  $key = is_null($key)?0:$key; 
                }else{ 
                  $key = isset($row[$indexkey])?$row[$indexkey]:0; 
                } 
            } 
            $result[$key] = $tmp; 
        } 
        return $result; 
    }else{
        return array_column($input, $columnkey, $indexkey);
    }
}在需要用到array_column()函数的地方,只要调用i_array_column()即可,在低版本的php环境中,同样可以享受array_column()带来的便捷与快感~~
ad:真正免费,域名+虚机+企业邮箱=0元
其它类似信息

推荐信息