Andreika вопрос задавал не я. И вам следует перечитать этот вопрос еще раз, если непонятно что я хотел показать тем кодом. Раз вам так интересно, объясню почему это
с этого момента в пхп как и в перле можно удалять элемент массива
не верно.
Удаляется не элемент массива, в котором каждому элементу сопоставлен целочисленный номер, а элемент хеша, которому может быть сопоставлена произвольная строка. Индекс массива - это линейная последовательность. Индекс хеш-массива - дерево. В перле нет функции удаления элемента массива. Есть функция удаления элемента хеш-массива
PHP:
%hash = (1=>'a',2=>'b',3=>'c');
delete($hash{2});
в php вместо delete используется unset, но это по сути одно и то же. Для работы с массивами в перле есть несколько функций, позволяющих работать с вершиной и дном массива как со стеком shift, unshift, push, pop что имеем и в PHP. В перле насчет контекстов вообще все замечательно. Список приводится к хешу (главное что бы в нем было четное кол-во элементов), хеш к списку, при этом ключи становятся нечетными элементами, а значения четными. Но если уж привели к хешу, не обижайтесь, если обратная трансформация не даст исходного массива, т.к. обращение по ключу - это одно, а по индексу - это другое. Все логично и понятно. PHP аналоги работают не иначе как (в код не лазил, но перед глазами так и маячит NULL на индекс в массиве ключей при unset - что говорить, PHP оригинальностью не блистает) на основе индексов по array_keys, т.к. PHP массив сохраняет порядок задания элементов. В перле порядок следования неопределен, т.е. keys(%hash) не обязательно вернет список ключей в порядке их задания. Кроме путаницы (в хеше нельзя полагаться на порядок задания, а удаление элемента массива влечет за собой смещение вышестоящих элементов) один плюс - порядок следования элементов не изменяется. Если сможете привести пример ЯП, где к массивам такое же отношение как и в PHP, будет замечательно. Однако уверен, что таких примеров будет не много. И ничего удивительного, что у программистов владеющих другими ЯП, могут возникнуть трудности при работе с массивами в PHP.