有一个循环:
foreach($data['data'] as $value => $key){
//ODO
}
和阵列$data['user']
.格式数组为:
array(2) {
[472]=>
array(15) {
...
}
[456] =>
array(16){
}
}
如何获取循环每次迭代的数组元素?
第二次尝试。您可以使用 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. 中使用next
。while 循环,因为 next 前进到下一项并返回它。但在这种情况下,您有不同的循环,因此您需要将current
和next
结合起来以获取当前项目,然后前进到下一行。
或者,您可以使用each()
:
$users = $data['user'];
reset($users);
foreach($data['data'] as $value => $key)
{
list($userKey, $res) = each($users);
// Use $res here.
}
也许这就是你需要的:
foreach (array_keys($data['user']) as $key) {
echo $data['user'][$key];
echo $data['data'][$key];
}