печать многомерного массива по тому же номеру ключа в php - PullRequest
0 голосов
/ 04 марта 2012

У меня есть массив с именем $ users (ниже), который я хотел бы напечатать first_name и last_name вместе.

Array
(
    [first_name] => Array
        (
            [0] => John
            [1] => Tom
        )

    [last_name] => Array
        (
            [0] => McDonald
            [1] => Terry
        )

)

Я использовал цикл 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 />";

    }

}

Результат:

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

Iпоставить разрыв в цикле foreach и снова я не получаю нужный результат.

Примечание: я знаю, как решить эту проблему, используя цикл для , но так как числопользователи меняются внутри моей базы данных, я не знаю, сколько для количества циклов мне нужно, если я не посчитаю количество строк в массиве и не сделаю анализ цикла for на основе этого.Но я не ищу использовать для цикла, кто-нибудь знает лучший способ сделать это?

1 Ответ

6 голосов
/ 04 марта 2012

До тех пор, пока вы используете значение $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
...