php 二维数组转换一维数组 array_column
1:一般方法
//查询同一类的id $list = D("Sort")->where(array("type"=>$this->type))->field("tableid")->select(); //二维转一维数组 //$arr = i_array_column($list,"tableid"); foreach ($list as $key => $v) { $arr[$key] = $v["tableid"]; } return $arr;2:用array_column方法
//查询同一类的id $list = D("Sort")->where(array("type"=>$this->type))->field("tableid")->select(); //二维转一维数组 $arr = i_array_column($list,"tableid"); return $arr;
Array ( [0] => Array ( [tableid] => 390 ) [1] => Array ( [tableid] => 14 ) ) Array ( [0] => 390 [1] => 14 )
array_column说明:
官方参考:http://php.net/manual/zh/function.array-column.php
(PHP 5 >= 5.5.0)
array_column — 返回数组中指定的一列
php版本低可以自定义方法 i_array_columnfunction 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); } }参考:http://www.thinkphp.cn/code/335.html
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。