[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: повторный проход foreach
Страницы: 1, 2
AllesKlar
Вопрос больше теоретический, но всеж...
При втором проходе foreach-ем по одному и тому же массиву, порядок индексов будет тот же, что и при первом проходе?

Сделал тест, гонял долго, много, нудно. Результат - при всех проходах порядок индексов тот же.
Но, тест это не доказательство.

По логике вещей, при foreach внутренний указатель массива устанавливается на первый элемент и побежал...
Если структура массива не изменилась, следовательно, в памяти элементы массива занимают те же адреса.
Следовательно, при втором "пробеге" по массиву, порядок его обхода должен быть точно таким же, как и при первом.

Мнения?

_____________
[продано копирайтерам]
Valick
Ювсик выкрал аккаунт AllesKlar

_____________
Стимулятор ~yoomoney - 41001303250491
GET
Цитата
Мнения?

foreach не использует массив с которым работает, потому что работает с его копией.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
AllesKlar
Valick
Чагойт?

ABC
не верю (С) Станисловский

и сути вопроса сие не меняет smile.gif


_____________
[продано копирайтерам]
linker
Используется копия массива, если без ссылок.

_____________
Gear Framework
Gear Framework на Github
AllesKlar
linker
Не используется копия массива.
Как же доказать, кто из нас прав? smile.gif


Люди, вы что?

Вопрос не в том, что используется, а в том, как используется.

Порядок обхода индексов сохраняется или нет?


_____________
[продано копирайтерам]
waldicom
Цитата (Invis1ble @ 16.03.2014 - 17:21)
сохраняется

Взял и всю интригу в топике убил smile.gif

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
linker
"Следовательно, при втором "пробеге" по массиву, порядок его обхода должен быть точно таким же, как и при первом."

Ты уже десяток раз ответил на свой вопрос. Задайся вопросом, а с какого рожна порядок в массиве должен меняться? Если ты не делал array_unshift() то чего ему меняться.

_____________
Gear Framework
Gear Framework на Github
AllesKlar
linker

Потому что, об этом нигде не сказанно, а сам я проконтролировать это не могу. А все, что делается бесконтрольно, это не правильно. Я всегда был и буду диктатором с своем коде. Жестоким и беспощадным (уха-ха-ха-ха) :ph34r:

По аналогии с mysql, например

SELECT * FROM table


Если нет ORDER BY одному богу известно, в каком порядке вернутся ряды. Гепотетически в порядке физического расположения данных. НО... может там сервер чет наоптимизировал и БАЦ.. а порядок уже другой.

_____________
[продано копирайтерам]
Valick
ну кагбэ сортировка должна быть в 99% запросов
ну а foreach специально придуман для "обхода" массива, станно было бы ожидать того что он что-то там "ломает"

_____________
Стимулятор ~yoomoney - 41001303250491
Invis1ble
массивы в php - это не строки в таблице БД © ваш Кэп

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

AllesKlar
Invis1ble
чЪёрт! Этож скока сейчас мне кода переписывать biggrin.gif

_____________
[продано копирайтерам]
linker
AllesKlar
В каком порядке ты данные положил в массив, В таком они и будут, если не применять всякие сортировки и прочие функции.

_____________
Gear Framework
Gear Framework на Github
bestxp
http://habrahabr.ru/post/172647/

так же почитай
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.