Одинарные кавычки или нет в квадратных скобках?
У меня есть (возможно) очень простой и легкий для ответа вопрос, на который я нигде не могу найти ответ, возможно, он слишком прост, и я не очень разбираюсь в 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";
доходность
Привет
Мир