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

如何循环多维数组以获取值

如何循环多维数组以获取值

PHP
慕少森 2021-04-07 13:15:13
我有这个多维数组,我正在尝试将其转换为下面给出的数组Array(    [id] => Array        (            [0] => 1            [1] => 3        )    [team_id] => Array        (            [0] => 654868479            [1] => 463733228        )    [seed] => Array        (            [0] => 1            [1] => 2        ))我想要以下结果Array(    [0] => Array        (            [id] => 1            [team_id] => 654868479            [seed] => 1        )    [1] => Array        (            [id] => 3            [team_id] => 463733228            [seed] => 3        ))这是我到目前为止所取得的成就。我实际上希望$seeded[]数组与提交所需的格式相同update_batch。最终将更新数据库记录。$seeds = $this->input->post();$i=0;foreach ($seeds as $key => $value){    if(!empty($key) && !empty($value)){        for($i=0; $i=5; $i++) {            $seeded[] = array(                'id' => (id go here),                'tournament_id' => $tournament_id,                'stage_id' => $stage_id,                'seed_id' => (seed go here),                'team_name' => (team_id go here),            );        }        $this->db->update_batch('tournament_seed', $seeded, 'id');    }}
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

迭代数组,并使用以下代码对其进行转换。


$seeded= array();

for($i =0; $i < count($seeds['id']); $i++){

    $tempArr['id'] = $seeds['id'][$i];

    $tempArr['team_id'] = $seeds['team_id'][$i];

    $tempArr['seed'] = $seeds['seed'][$i];

    $seeded[] = $tempArr;

}


查看完整回答
反对 回复 2021-04-23
?
一只萌萌小番薯

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

我已经编写了一个函数,该函数将允许您将与上面具有相似结构的任何数组转换为您要查找的形式的数组。


您可以通过以下方式构建阵列:


$arr = [

    'id'      => [1, 3],

    'team_id' => [654868479, 463733228],

    'seed'    => [1, 2],

];


function array_flatten($arr) {

    $res = [];

    foreach($arr as $id => $valuesArray) {

        foreach($valuesArray as $index => $value)

            $res[$index][$id] = $value;

    }

    return $res;

}


print_r(array_flatten($arr));

希望这可以帮助,


查看完整回答
反对 回复 2021-04-23
  • 2 回答
  • 0 关注
  • 164 浏览

添加回答

举报

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