2014-01-09 3 views
0

У меня есть (возможно) очень простой и легкий ответ на вопрос, который я не могу найти нигде, возможно, это слишком просто, и я не хорошо разбираюсь в php.одинарные кавычки или нет в квадратных скобках данных?

Я использую сценарий, написанный кем-то другим, и иногда они используют одиночные кавычки в квадратных скобках, [], а иногда и нет. Каков правильный путь?

Например, это лучше всего написано [данные] или ['data']? Я перфекционист, и это сводит меня с ума, чтобы знать правильный метод.

Echo "Name:". $ Ratings ['name']. "";

$ current = $ рейтинги [всего]/$ рейтинги [голосов]; Эхо "Текущий рейтинг:". round ($ current, 1). "";

+0

Это было рассмотрено ранее, много раз. Нет правильного пути, просто используйте любой стандарт кодирования, который имеет смысл для вас. Лично я использую '' 'всюду, если я не имею дело с фактической строкой текста, тогда это' '' – Mathew

+2

@MatW Вопрос не спрашивает о одиночных или двойных кавычках - он спрашивает о сингле против цитаты. –

+0

См. здесь: http: // stackoverflow.com/questions/13622486/php-array-access-without-quotes - вы можете получить предупреждение, если у вас есть ошибки. не цитируется попытка константа в первую очередь. Если он не найден, он читается как строка. правильным способом было бы избежать ошибок. Я цитирую их всегда. –

ответ

1

При доступе к элементу массива вы должны использовать одиночные или двойные кавычки.

Я спросил в ## PHP на Freenode, и они считают, что эта особенность существует since PHP4.3 (бог знает почему), но сейчас, когда PHP попадается $array[value], то в первую очередь пытается найти константу с именем value, и если это а не define() 'd, он обрабатывает выражение как $array["value"] и вставляет примечание в PHP4. В PHP5 это было обновлено до предупреждения.

Вкратце: Не используйте его. Он смущает себя.

+0

поэтому ответ, который я получаю здесь, всегда использует одинарные кавычки в квадратных скобках, т. Е. ['Data'] ...? – user3175564

+0

@ user3175564 Исправить. – tyteen4a03

0

Определенно используйте кавычки. Кроме того, существует тонкая, но важная разница в PHP между одиночными и двойными кавычками. Одна строка с кавычками на самом деле быстрее, потому что она рассматривается как литерал, тогда как интерпретируется строка с двойными кавычками, которая принимает время O (n). Пример:

$ test = 'world';

echo 'hello \ n $ test';

дает hello\n$test

$ тест = 'мира';

echo "hello \ n $ test";

дает

привет

мир

0

Либо двойной или одинарной будет работать. Лично я предпочитаю сингл.

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