有一个循环:
foreach($data['data'] as $value => $key){
//ODO
}
数组$data['user']
。
格式数组是:
array(2) {
[472]=>
array(15) {
...
}
[456] =>
array(16){
}
}
如何为循环的每次迭代获取数组元素?
答案 0 :(得分:3)
第二次尝试。您可以使用reset()
,current()
和next()
来转到数组中的下一个项目。这样,您可以在迭代第一个数组时在第二个数组上运行游标:
$users = $data['user'];
reset($users);
foreach($data['data'] as $value => $key)
{
$res = current($users);
next($users);
// Use $res here.
}
注意,您在循环中命名了变量$value
和$key
,但反之亦然。第一个是关键。
通常你会在do..while循环中使用next
,因为接下来会前进到下一个项目并返回它。但在这种情况下,您有不同的循环,因此您需要合并current
和next
以获取当前项目,然后前进到下一行。
或者,您可以使用each()
:
$users = $data['user'];
reset($users);
foreach($data['data'] as $value => $key)
{
list($userKey, $res) = each($users);
// Use $res here.
}
答案 1 :(得分:1)
也许这就是你所需要的:
foreach (array_keys($data['user']) as $key) {
echo $data['user'][$key];
echo $data['data'][$key];
}