Sok*_*kar -1 php arrays foreach loops multidimensional-array
我有一个名为$ users(下面)的数组,我想一起打印first_name和last_name.
Array
(
[first_name] => Array
(
[0] => John
[1] => Tom
)
[last_name] => Array
(
[0] => McDonald
[1] => Terry
)
)
Run Code Online (Sandbox Code Playgroud)
我使用foreach循环,但问题是,foreach循环打印:
foreach ($users['first_name'] as $key => $first_name) {
foreach ($users['last_name'] as $key => $last_name) {
echo "$first_name ";
echo "$last_name<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
John McDonald --> that's what I want
John Terry --> I don't want this
Tom McDonald --> I don't want this
Tom Terry --> That's what I want
Run Code Online (Sandbox Code Playgroud)
我在foreach循环中休息一下,再次得不到我想要的正确结果.
注意:我知道如何通过使用for循环来解决这个问题,但由于用户数量在我的数据库中发生了变化,我不知道我需要多少个循环计数,除非我计算数组中的行数并且为了基于此的循环分析.但我不打算使用for循环,有没有人知道更好的方法来做到这一点?
只要你使用值$key,就不需要预先确定计数,实际上你甚至不需要内循环.
foreach ($users['first_name'] as $key => $first_name) {
// no inner loop needed.
// Use $key to retrieve the associated last_name
echo "$first_name {$users['last_name'][$key]}\n";
}
// Output:
// John McDonald
// Tom Terry
Run Code Online (Sandbox Code Playgroud)