在php中打印相同键号的多维数组

Sok*_*kar -1 php arrays foreach loops multidimensional-array

我有一个名为$ users(下面)的数组,我想一起打印first_namelast_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循环,有没有人知道更好的方法来做到这一点?

Mic*_*ski 6

只要你使用值$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)