Сохранять данные в сеансе laravel, используя цикл [duplicate]

176
задан Web_Designer 9 April 2011 в 16:39
поделиться

11 ответов

Между этими двумя синтаксисами вы должны выбрать тот, который вы предпочитаете: -)

Лично я бы пошел со своим вторым решением в таком случае (переменная интерполяция) , который мне легче писать и читать.

Результат будет таким же; и даже если есть последствия для производительности, это не будет иметь значения 1.

Как побочный элемент, поэтому мой ответ немного более полный: в тот день, когда вы захотите сделать что-то вроде этого:

echo "Welcome $names!";

PHP будет интерпретировать ваш код так, как если бы вы пытались использовать переменную $names - которая не существует.

В тот день вам нужно будет использовать {}:

echo "Welcome {$name}s!"

Не нужно отступать от конкатенаций.

Также обратите внимание, что ваш первый синтаксис:

echo "Welcome ".$name."!";

Возможно, был оптимизирован , избегая конкатенаций, используя:

echo "Welcome ", $name, "!";

(Но, как я сказал ранее, это не имеет большого значения ...)

1 - Если вы не делаете сотни тысяч конкатенаций против интерполяций - и это, вероятно, не совсем так.

270
ответ дан Amal Murali 1 September 2018 в 10:05
поделиться

Вы должны выбрать первый. Они не имеют никакой разницы, кроме производительности, первая из которых будет быстрой в сравнении второго.

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

Check out Одиночные кавычки или двойные кавычки для конкатенации переменных?

Это еще один пример . Есть ли однократная цитата с преимуществами производительности против двойной цитаты в php?

Я не понял, почему этот ответ в ссылке выше, и почему этот ответ получил downvote.

Как я сказал то же самое.

Вы можете посмотреть здесь также

Что быстрее в PHP, одинарные или двойные кавычки?

3
ответ дан Community 1 September 2018 в 10:05
поделиться

Не объединяйтесь. Это не нужно, мы запятые, поскольку эхо может принимать несколько параметров

echo "Welcome ", $name, "!";

Что касается использования одиночных или двойных кавычек, разница незначительна, вы можете провести тесты с большим количеством строк, чтобы проверить себя.

2
ответ дан David Gillen 1 September 2018 в 10:05
поделиться

Я знаю, что этот вопрос уже имеет выбранный ответ, но я нашел в этой статье , что, очевидно, показывает, что интерполяция строк работает быстрее, чем конкатенация. Это может быть полезно для тех, кто все еще сомневается.

4
ответ дан Denis V 1 September 2018 в 10:05
поделиться

Я знаю, что это старый вопрос, но я думаю, что кто-то должен упомянуть всех профи и amp; cons:

Улучшенный синтаксис: это личное предпочтение.

Производительность: нет разницы. Как уже упоминалось, двойная кавычка может быть быстрее, если использовать нереально множество переменных.

Лучшее использование: одинарная кавычка (в основном). Как сказал @Khez, с одной цитатой вы можете конкатенировать что угодно, даже вызовы функций и модификацию переменных, например: echo 'hi ' . trim($name) . ($i + 1);. Единственная двойная кавычка может сделать эту одинарную кавычку, которую нельзя сделать, это использовать \n, \r, \t и так же.

Считываемость: никакой разницы (может быть применено личное предпочтение).

Writability / Re-Writability / Debugging: в операциях с 1 строкой нет разницы, но при работе с несколькими строками легче комментировать / раскомментировать строки при отладке или записи. Например:

$q = 'SELECT ' .
     't1.col1 ' .
     ',t2.col2 ' .
   //',t3.col3 ' .
     'FROM tbl1 AS t1 ' .
     'LEFT JOIN tbl2 AS t2 ON t2.col2 = t1.col1 ' .
   //'LEFT JOIN tbl3 AS t3 ON t3.col3 = t2.col2 ' .
     'WHERE t1.col1 = ' . $x . ' ' .
     '  AND t2.col2 = ' . $y . ' ' .
   //'  AND t3.col3 = ' . $z . ' ' .
     'ORDER BY t1.col1 ASC ' .
     'LIMIT 10';

Меньше экранирования: одинарная кавычка. Для одиночной кавычки вам нужно избегать только двух символов (' и \). Для двойной кавычки вам нужно вывести 2 символа (", \) и еще 3, если требуется ($, { и }).

Less Changes: Single quote. Например, если у вас есть следующий код:

echo 'Number ' . $i . '!';

И вам нужно увеличивать 1 до $ i, поэтому он становится симпатичным:

echo 'Number ' . ($i + 1) . '!';

Но для двойной кавычки вы необходимо будет изменить это:

echo "Number $i!";

:

echo "Number " . ($i + 1) . "!";

Вывод: используйте то, что вы предпочитаете.

0
ответ дан evilReiko 1 September 2018 в 10:05
поделиться

С точки зрения создания мысли, простого, понятного, последовательного и легко понять (поскольку производительность здесь не имеет значения):

  • Использование встроенных варов в двойных кавычках может привести к сложному и запутывающие ситуации, когда вы хотите встроить свойства объекта, многомерные массивы и т. д. То есть, как правило, при чтении встроенных vars вы не можете мгновенно убедиться в конечном результате того, что вы читаете.
  • Вы часто необходимо добавить костыли, такие как {} и \, которые IMO добавляет путаницу и делает удобство чтения в конкатенации почти эквивалентным, если не лучше.
  • Как только вам нужно обернуть вызов функции вокруг var, для Например, htmlspecialchars($var), вы должны переключиться на конкатенацию.
  • AFAIK, вы не можете вставлять константы.

В некоторых конкретных случаях «двойные кавычки с встраиванием vars» могут быть полезным, но, вообще говоря, я бы пошел на конкатенацию (используя одиночные или двойные кавычки, когда это удобно)

4
ответ дан Frosty Z 1 September 2018 в 10:05
поделиться

Любой из них в порядке. Используйте ту, которая имеет лучшую видимость для вас. И, говоря о видимости, вы также можете проверить printf .

5
ответ дан Manos Dilaverakis 1 September 2018 в 10:05
поделиться

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

Однако, если вам нужно вставить возвращаемое значение функции, это не может быть вставлено в строку с двумя кавычками - даже если вы окружите ее фигурными скобками!

//syntax error!!
//$s = "Hello {trim($world)}!"

//the only option
$s = "Hello " . trim($world) . "!";
15
ответ дан Michael 1 September 2018 в 10:05
поделиться

, поскольку php4 вы можете использовать форматировщик строк:

$num = 5;
$word = 'banana';
$format = 'can you say %d times the word %s';
echo sprintf($format, $num, $word);
4
ответ дан Olivier Royo 1 September 2018 в 10:05
поделиться

Это только вопрос вкуса. Используйте все, что пожелаете.

Большую часть времени я использую второй, но это зависит.

Позвольте мне также предложить вам хороший редактор, который выделит переменную внутри строки

2
ответ дан Your Common Sense 1 September 2018 в 10:05
поделиться

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

  1. Легче читать, что означает, что другие программисты будут знать, что происходит
  2. Он работает немного быстрее, созданный, когда PHP анализирует ваш исходный код, в любом случае это все равно, так что дайте ему руку помощи!
  3. Если вы используете одиночные кавычки вместо двойных кавычек, вы еще больше повысите свою производительность.

Единственные ситуации, когда вы должны использовать двойные кавычки, - это когда вам нужны \r, \n, \t! Накладные расходы просто не стоит использовать его в любом другом случае.

Вы также должны проверить конкатенацию переменных PHP , phpbench.com для некоторых тестов о различных методах ведения дел.

3
ответ дан Community 3 September 2018 в 08:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: