int*_*lis 1 php arrays iteration multidimensional-array
我从html
表单中获得了这组数据.它基本上是一个多维数组.
数据
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"
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我想要做的是遍历这个数组,并为每次迭代创建一个数据变量(array
).
例如:
第一次迭代:
$data = array(
'r1' => '2'
'r2' => '5'
'tekma_id' => '7'
)
Run Code Online (Sandbox Code Playgroud)
第二次迭代:
$data = array(
'r1' => '4'
'r2' => '96'
'tekma_id' => '8'
)
Run Code Online (Sandbox Code Playgroud)
我试过这个:
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";
}
}
Run Code Online (Sandbox Code Playgroud)
但它没有用.抱歉我的英文不好,谢谢你的帮助.干杯!
这个怎么样?
$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);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[r1] => 2
[r2] => 5
[tekma_id] => 7
)
Array
(
[r1] => 4
[r2] => 96
[tekma_id] => 8
)
Run Code Online (Sandbox Code Playgroud)