Php 通过多维数组的Foreach循环

Php 通过多维数组的Foreach循环,php,arrays,multidimensional-array,iteration,Php,Arrays,Multidimensional Array,Iteration,我有一组从html表单中获取的数据。它基本上是一个多维数组 资料 问题:我想做的是遍历这个数组,并为每个迭代创建一个数据变量数组 例如: 第一次迭代: $data = array( 'r1' => '2' 'r2' => '5' 'tekma_id' => '7' ) $data = array( 'r1' => '4' 'r2' => '96' 'tekma_id' => '8' ) 第二次迭代: $data = ar

我有一组从html表单中获取的数据。它基本上是一个多维数组

资料

问题:我想做的是遍历这个数组,并为每个迭代创建一个数据变量数组

例如:

第一次迭代:

$data = array(
   'r1' => '2'
   'r2' => '5'
   'tekma_id' => '7'
)
$data = array(
   'r1' => '4'
   'r2' => '96'
   'tekma_id' => '8'
)
第二次迭代:

$data = array(
   'r1' => '2'
   'r2' => '5'
   'tekma_id' => '7'
)
$data = array(
   'r1' => '4'
   'r2' => '96'
   'tekma_id' => '8'
)
我试过这个:

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";
    }
}
但它不起作用。对不起,我的英语不好,谢谢你的帮助。 干杯

这个怎么样

$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);
}
这个怎么样

$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);
}
试试这个:

$keys = array_keys($data);
$count = count(array_shift(array_values($data)));

for ($i = 0; $i<$count; $i++) {
    $result = array();
    foreach ($keys as $key) {
        $result[$key] = $data[$key][$i];
    }
    var_dump($result);
}
试试这个:

$keys = array_keys($data);
$count = count(array_shift(array_values($data)));

for ($i = 0; $i<$count; $i++) {
    $result = array();
    foreach ($keys as $key) {
        $result[$key] = $data[$key][$i];
    }
    var_dump($result);
}

r1、r2和tekma_id是固定索引还是动态索引?@hjpotter92它们来自名为r1[],r2[]和tekma_id[]的输入是r1、r2和tekma_id是固定索引还是动态索引?@hjpotter92它们来自名为r1[],r2[]和tekma_id[]的输入只有一个注释-在严格模式下,在这种情况下,由于参数不是变量,array_shift将抛出错误。+1仅一个注释-在严格模式下,array_shift将在这种情况下抛出错误,因为参数不是变量。