Одинарные кавычки или нет в квадратных скобках?

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

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

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

Эхо "Имя: " .$ Оценок ['имя']. ​​"";

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

3 ответа

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

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

Короче говоря: не используйте его. Это смущает вас.

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

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

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

$ test = 'world';

echo 'hello \ n $ test';

доходность hello\n$test

$ test = 'world';

echo "hello \ n $ test";

доходность

Привет

Мир

Другие вопросы по тегам