Гарантируется ли foreach итерацию в порядке массива в php? - PullRequest
57 голосов
/ 19 января 2011

Когда массив передается в foreach, порядок вывода гарантированно совпадает с порядком ввода? На некоторых языках я знаю, что порядок вывода не гарантируется, поскольку каждый элемент обрабатывается одновременно.

Например, я передаю отсортированный массив foreach для записи в файл. Я хочу быть уверен, что массив будет отсортирован в выходном файле.

Ответы [ 4 ]

42 голосов
/ 19 января 2011

Да ... любой порядок, который вы дадите foreach, будет повторяться в тех же порядках.А в твоем случае array will be sorted in the output file.

13 голосов
/ 13 августа 2013

Соответствующей ссылкой может быть не ссылка foreach или сортировка, как упоминалось ранее, а ссылка на массив.

Справочник по языку - Массивы говорит:

Массив в PHP на самом деле является упорядоченной картой.

8 голосов
/ 19 января 2011

Это правильно, foreach будет выводить в том же порядке, что и входной массив.

2 голосов
/ 19 января 2011

Да - элементы будут выводиться в том же порядке, в котором они находятся в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...