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);
实例:
你通过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);
实例:
相关文章推荐
- thinkphp嵌套层数分析(转)
- WindowsServer 2008 iis+php配置
- php缓存技术总结(转)(二)
- php缓存技术总结(转)(-)
- php判断请求是否是ajax
- PHP生成随机密码的4种方法及性能对…
- PHP生成随机密码的4种方法及性能对…
- PHP中ereg与preg_match和preg_matc…
- PHP调试时print_r,var_dump…
- 浅谈PHP中IP与整型互相转换
- Zend Studio12安装及破解
- PHP substr截取中文字符出现…
- php数组函数总结
- PHP 获取图像信息 getimagesize函数
- php 四种排序算法
- PHP-PDO笔记
- ThinkPHP - CURD增删改查 - 实例 - 搜索功能
- php常用的正则匹配
- thinkphp控制器中获取当前控制器路径
- ThinkPHP - 查询语句