Что означает символ «точка» (.), Если используется в середине строки php? - PullRequest
9 голосов
/ 24 мая 2011

Я довольно новичок в PHP, но не могу найти решение этого вопроса в Google.

Вот пример кода:

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

что делает символ точки в середине каждого фрагмента строки?

т: "блабла". "блабла". "Blablalba";

Ответы [ 3 ]

11 голосов
/ 24 мая 2011

Этот оператор используется для объединения строк.

EDIT

Если говорить точнее, если значение не является строкой, его необходимо преобразовать в единицу. См. Преобразование в строку для более подробной информации.

К сожалению, иногда это неправильно используется для того, чтобы вещи стали труднее читать. Вот правильное использование:

echo "This is the result of the function: " . myfunction();

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

echo "The result is: " . $result;

Здесь у вас есть переменная с именем $result, которую мы можем вставить в строку вместо:

echo "The result is: $result";

Еще одно трудно пойманное неправильное использование - это:

echo "The results are: " . $myarray['myvalue'] . " and " . $class->property;

Это немного сложно, если вы не знаете о escape-последовательности {} для встроенных переменных:

echo "The results are: {$myarray['myvalue']} and {$class->property}";

О приведенном примере:

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

Это немного сложнее, потому что, если мы не используем оператор конкатенации, мы можем отослать новую строку случайно, поэтому вместо этого строки должны заканчиваться на "\ r \ n". Я бы посчитал это более необычным случаем из-за ограничений заголовков писем.

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

6 голосов
/ 24 мая 2011

Это оператор конкатенации.Это соединяет две последовательности вместе.Например:

$str = "aaa" . "bbb"; // evaluates to "aaabbb"
$str = $str . $str;   // now it's "aaabbbaaabbb"
4 голосов
/ 24 мая 2011

Это оператор конкатенации , объединяющий обе строки вместе (составляющий одну строку из двух отдельных строк).

...