您的位置:首页 > 编程语言 > PHP开发

php 循环列找关联字段问题

2016-01-31 17:17 465 查看
我们查询一列数据的时候往往需要循环这列数据,通过某个字段查询另一个表的信息,但是这样做的话导致的问题是由于循环将查询很多次数据库,所以我觉得应该先把这些数据需要的条件整成一个数组,然后通过程序将其得出你想要的结果。如:

你通过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);

实例:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: