dongma6326 2013-09-13 10:05
浏览 115
已采纳

Foreach循环遍历多维数组

I have this set of data that I get from html form. It is basically a multidimensional array.

Data

array(3) {
  ["r1"]=>
  array(2) {
    [0]=>
    string(1) "2"
    [1]=>
    string(1) "4"
  }
  ["r2"]=>
  array(2) {
    [0]=>
    string(1) "5"
    [1]=>
    string(2) "96"
  }
  ["tekma_id"]=>
  array(2) {
    [0]=>
    string(1) "7"
    [1]=>
    string(1) "8"
  }
}

Problem: What i want to do, is to go over this array and for each iteration create a data variable(array).

So for example:

First iteration:

$data = array(
   'r1' => '2'
   'r2' => '5'
   'tekma_id' => '7'
)

Second iteration:

$data = array(
   'r1' => '4'
   'r2' => '96'
   'tekma_id' => '8'
)

I've tried with this:

foreach ($data as $key => $value) {
    foreach ($value as $index => $v) {
        echo "<br>";
        echo "r1: $v";
        echo "<br>";
        echo "r2: $v";
        echo "<br>";
        echo "tekma_id: $v";
    }
}

But it didn't work. Sorry for my bad english and thanks for any help. Cheers!

  • 写回答

2条回答 默认 最新

  • dtczp02204 2013-09-13 10:15
    关注

    How about this?

    $array = array(
        'r1' => array(2, 4),
        'r2' => array(5, 96),
        'tekma_id' => array(7, 8));
    
    $keys = array_keys($data);
    $iterations = count($array[$keys[0]]);
    
    for($i = 0; $i < $iterations; $i++) {
        $data = array();
        foreach($array as $key => $value) {
            $data[$key] = $value[$i];
        }
        print_r($data);
    }
    

    Output:

    Array
    (
        [r1] => 2
        [r2] => 5
        [tekma_id] => 7
    )
    Array
    (
        [r1] => 4
        [r2] => 96
        [tekma_id] => 8
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置