猿问

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

我有这个多维数组,我正在尝试将其转换为下面给出的数组


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');

    }

}


慕少森
浏览 165回答 2
2回答

达令说

迭代数组,并使用以下代码对其进行转换。$seeded= array();for($i =0; $i < count($seeds['id']); $i++){&nbsp; &nbsp; $tempArr['id'] = $seeds['id'][$i];&nbsp; &nbsp; $tempArr['team_id'] = $seeds['team_id'][$i];&nbsp; &nbsp; $tempArr['seed'] = $seeds['seed'][$i];&nbsp; &nbsp; $seeded[] = $tempArr;}

一只萌萌小番薯

我已经编写了一个函数,该函数将允许您将与上面具有相似结构的任何数组转换为您要查找的形式的数组。您可以通过以下方式构建阵列:$arr = [&nbsp; &nbsp; 'id'&nbsp; &nbsp; &nbsp; => [1, 3],&nbsp; &nbsp; 'team_id' => [654868479, 463733228],&nbsp; &nbsp; 'seed'&nbsp; &nbsp; => [1, 2],];function array_flatten($arr) {&nbsp; &nbsp; $res = [];&nbsp; &nbsp; foreach($arr as $id => $valuesArray) {&nbsp; &nbsp; &nbsp; &nbsp; foreach($valuesArray as $index => $value)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $res[$index][$id] = $value;&nbsp; &nbsp; }&nbsp; &nbsp; return $res;}print_r(array_flatten($arr));希望这可以帮助,
随时随地看视频慕课网APP
我要回答