2009-09-29 2 views
2

Я не знаю, как насчет вас, но я не очень люблю, как массивы построены на PHP. У меня такое чувство, что я слишком часто использую ключевое слово array и что array($k => $v) или, например, array($k1=>array($k2=>$v)) слишком длинны, учитывая полезность карт. (Более того, недавно я узнал JS way of doing it и теперь я действительно ревную)Аббревиатура для массива PHP()

Лучшее, что я мог придумать, чтобы исправить это:

function a() { // array 
    return func_get_args(); 
} 

и

.. но они не разрешают использовать оператор =>.

Любые другие идеи?

+1

Массивы в PHP действительно никогда не чувствовал себя как массивы для меня. Массив для меня - это строго одномерный список ключей без ключа. Ну что ж.. –

ответ

8

Начиная с PHP 5.4, a shorthand syntax for arrays поддерживается с использованием [ и ]. Ваши примеры:

array($k => $v) 
array($k1=>array($k2=>$v)) 

теперь можно записать в виде:

[$k => $v] 
[$k1 => [$k2 => $v]] 
3

Не существует сокращенного синтаксиса для объявления массивов в PHP. Это функция, которую я хотел бы видеть, но я очень сомневаюсь, что это произойдет.

Это было обсуждено разработчиками PHP и сообществом PHP, но оно никогда не было реализовано. Хорошей отправной точкой, если вы хотите увидеть, как развернутая дискуссия доступна на вики-странице PHP: http://wiki.php.net/rfc/shortsyntaxforarrays

На данный момент вам придется смириться с набором нескольких лишних символов.

0

Используйте Texter или любой достойный редактор с шаблонами/макросами. Например:

[]+Tab ---> array({cursor}) 

Если вы действительно одержим, сделать json_decode макрос для выполнения выбора через это:

<?php var_export(json_decode(stream_get_contents(STDIN), true)); 

Просто не ставьте JSON в РНР код, потому что вы не хотите смотреть в JSON ...

Смежные вопросы