Переменная в строке - PullRequest
       1

Переменная в строке

0 голосов
/ 26 октября 2018

Я знаю, что мы можем использовать переменную внутри строки. Например:

<?php
    $name = "pink panther";
    $message = "Hello, Im $name"; // 1
    $other_message = "Hello, Im {$name}"; // 2
?>

С $ message и $ other_message все в порядке. Это так часто. Тем не менее, я вижу другой синтаксис для этой проблемы.

$third_way = "Hello, Im ${name}"; // 3

Третий способ все еще в порядке (я использую php версии 7). Мне нравится этот синтаксис, потому что он похож на шаблон JavaScript. Но я никогда не видел, кто так использует. Так что любая проблема, когда я использую этот синтаксис? Спасибо за ваш комментарий!

1 Ответ

0 голосов
/ 26 октября 2018

Эта вещь "{$var}" называется сложным синтаксисом в строках PHP с двойными кавычками, потому что с его помощью вы, например, можете получить доступ к значениям многомерного массива для объектов как с числовыми, так и с строковыми индексами и, при желании, использовать даже одинарные кавычки для доступа к индексу. Пример:

$result = "{$var->val[3]->arr['idx'][3]}";

"${var}" с другой стороны попадал бы в категорию простого синтаксиса и, на мой взгляд, в первую очередь полезен для таких случаев:

$result = "${var}s";

Я бы вообще не использовал фигурные скобки по трем причинам:

  • Мне легче читать "hi $name", чем "hi ${name}"
  • Они встречаются реже
  • Они не нужны, поэтому, когда я читал этот код, я спрашивал себя пару миллисекунд: «почему он поставил фигурные скобки?»

Но решение остается за вами или вашей командой. Узнайте больше об этом в руководстве по PHP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...