我们查询一列数据的时候往往需要循环这列数据,通过某个字段查询另一个表的信息,但是这样做的话导致的问题是由于循环将查询很多次数据库,所以我觉得应该先把这些数据需要的条件整成一个数组,然后通过程序将其得出你想要的结果。如:
你通过in查询到一组数据得出的结果一般是一个键名是0,1,2,3,4...开始的二维数组
我们可以通过函数array_column($data,$name,$id)(该函数需要php环境5.5+版本使用)变成你想要的一维数组结构。array_column() 返回输入数组中某个单一列的值。
第三个参数要是没有的话那么返回的一维数组则是键名是0,1,2,3,4...开始的你输入的第二个参数的值。
这样的话你再循环你的列的时候就可以根据你关联的id(或其他字段)直接得出想要的结果,而不是循环查询多次数据库了。
若是版本不支持函数的话只能通过循环了:
$data = array(
array('id'=>3,'name'=>'lilei'),
array('id'=>4,'name'=>'hanmeimei')
);
$arr = array();
foreach($data as $v){
$arr[$v['id']] = $v['name'];
}
print_R($arr);
实例: