Разыменование массивов в trunk PHP
1 августа 2010
Ещё одна приятная новость. В транк PHP 5.4 (который, возможно, будет в итоге выпущен как PHP 6) попала очень полезная возможность — разыменование массивов:
function test() { return array("one" => "PHP", "two" => "trunk", "three" => "is very cool"); } echo test()["two"]; // !!!
То есть теперь можно обращаться к индексу массива, возвращаемого из метода.
Комментарии RSS по email OK
Better beta than never!
Ну наконец-то!!!
В перле такое есть. А в других языках?
На счет перла я кажется ошибся
Давно пора
@100grammist
В python и JavaScript точно есть
О! Хвала небесам! )
Часто по инерции пишу так(не только же с php работаю), а потом огорчаюсь..
В пхп это выглядит как-то нелепо в отличии от тех же питона с яваскриптом)
Еще бы массив задавать через ["one" => "PHP", "two" => "trunk", "three" => "is very cool"]
последние нововведения радуют своей глупостью, бесполезностью, кривостью. кому действительно нужно, возвращали объект. зачем стремиться делать новый python, чтобы в нём писать такую же кашу ?! :(
А я думал, оно так и есть :) Как-то попадал, вроде, типа интуитивно поставил вместо имени массива функцию, а не сработало.
@AmdY
Мне нужно, чтобы не засорять область видимости ради получения одного элемента массива. Это полезно хотя бы поэтому, не говоря о сокращении количества кода. Хотелось бы также узнать насчет кривости и глупости - или это просто очередное необоснованное мнение?
Иногда такое нужно, например для getImageSize().
Мені пригодиться)
Ой ну как же здорово! Давно хочется мочь $query->result_array()[$i] делать. После того, как мне на форуме CI объяснили, почему так нельзя, я и не думал, что такая возможность появится.
А с другой стороны, очень много народу ещё только-только с четвёртого пыха сползает. 5.3 до сих пор не везде установлен, а тем более не в каждом проекте поддерживается. Когда-то ещё шестёрка станет доминировать…
Wawe
Ну из этой проблемы уже давно есть 2 выхода, которые просто нужно использовать:
Просто нужно привыкнуть что используется не fetch_assoc/fetch_row, а есть ещё list (в купе с fetch_row) и fetch_object. Давно использую и реальной надобности в fetch_row()[$i] даже не возникает.
Но в остальном фитча полезная, в других случаях пригодится.
Сколько вакуумщиков набежало сразу.
как выяснилось позднее php 5.4 назвали php 5.4 , а php 5.6 назвали своим именем :)