为了账号安全,请及时绑定邮箱和手机立即绑定

php两个foreach嵌套

php两个foreach嵌套

PHP
翻翻过去那场雪 2019-03-07 00:58:11
有两个二维数组,分别是两个表的内容,表A是需要使用到的数据,表A中的'hzs'字段内存放的是表B的'id',现需要把表A的'hzs'字段的内容改为表B的'name'字段的内容,以下代码在thinkphp5.0中使用正常,在5.1中没效果,请大神帮我看下。 public function index(){ $financeKxs = db('finance_kx')->select(); $hzs = db('cooperate')->select(); foreach ($financeKxs as $key => $value) { foreach ($hzs as $k => $v) { if($value['hzs']==$v['id']){ $value['hzs'] = $v['name']; } } //dump($value['hzs']); 在这里是可以看到已经改变了 } dump($financeKxs); 这里就没有效果了 }
查看完整描述

4 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

foreach ($financeKxs as $key => $value) {
    foreach ($hzs as $k => $v) {
        if($value['hzs']==$v['id']){
            $financeKxs[$key]['hzs'] = $v['name'];
        }
    }
}
查看完整回答
反对 回复 2019-03-18
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

要么赋值给原数组,要么引用传递,你改的是copy出来的value。

查看完整回答
反对 回复 2019-03-18
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

 
foreach ($financeKxs as $key => &$value) {
            foreach ($hzs as $k => $v) {
                if($value['hzs']==$v['id']){
                    $value['hzs'] = $v['name'];
                }
            }
        }
查看完整回答
反对 回复 2019-03-18
?
UYOU

TA贡献1878条经验 获得超4个赞

二维数组在遍历的时候用一个foreach不就可以了吗?三维数据遍历的时候貌似才用两个foreach的.

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 1272 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信