Строковые операторы

В PHP есть два оператора для работы со строками (string). Первый - оператор конкатенации ('.'), который возвращает строку, представляющую собой соединение левого и правого аргумента. Второй - оператор присваивания с конкатенацией ('.='), который присоединяет правый аргумент к левому. Для получения более полной информации ознакомьтесь с разделом Операторы присваивания.

<?php
$a 
"Hello ";
$b $a "World!"// $b теперь содержит строку "Hello World!"

$a "Hello ";
$a .= "World!";     // $a теперь содержит строку "Hello World!"
?>

Также ознакомьтесь с разделами документации Строки и Функции для работы со строками.

Коментарии

A word of caution - the dot operator has the same precedence as + and -, which can yield unexpected results. 

Example:

<php
$var = 3;

echo "Result: " . $var + 3;
?>

The above will print out "3" instead of "Result: 6", since first the string "Result3" is created and this is then added to 3 yielding 3, non-empty non-numeric strings being converted to 0.

To print "Result: 6", use parantheses to alter precedence:

<php
$var = 3;

echo "Result: " . ($var + 3); 
?>
2004-04-27 12:53:35
http://php5.kiev.ua/manual/ru/language.operators.string.html
Автор:
<?php 
"{$str1}{$str2}{$str3}"// one concat = fast
 
$str1$str2$str3;   // two concats = slow
?>
Use double quotes to concat more than two strings instead of multiple '.' operators.  PHP is forced to re-concatenate with every '.' operator.
2005-12-23 09:10:56
http://php5.kiev.ua/manual/ru/language.operators.string.html
Be careful so that you don't type "." instead of ";" at the end of a line.

It took me more than 30 minutes to debug a long script because of something like this:

<?
echo 'a'.
$c 'x';
echo 
'b';
echo 
'c';
?>

The output is "axbc", because of the dot on the first line.
2008-08-27 05:44:46
http://php5.kiev.ua/manual/ru/language.operators.string.html
If you attempt to add numbers with a concatenation operator, your result will be the result of those numbers as strings.

<?php

echo "thr"."ee";           //prints the string "three"
echo "twe" "lve";        //prints the string "twelve"
echo 2;                //prints the string "12"
echo 1.2;                  //prints the number 1.2
echo 1+2;                  //prints the number 3

?>
2009-02-09 23:37:33
http://php5.kiev.ua/manual/ru/language.operators.string.html
Автор:
As for me, curly braces serve good substitution for concatenation, and they are quicker to type and code looks cleaner. Remember to use double quotes (" ") as their content is parced by php, because in single quotes (' ') you'll get litaral name of variable provided:

<?php

 $a 
'12345';

// This works:
 
echo "qwe{$a}rty"// qwe12345rty, using braces
 
echo "qwe" $a "rty"// qwe12345rty, concatenation used

// Does not work:
 
echo 'qwe{$a}rty'// qwe{$a}rty, single quotes are not parsed
 
echo "qwe$arty"// qwe, because $a became $arty, which is undefined

?>
2012-12-27 00:22:03
http://php5.kiev.ua/manual/ru/language.operators.string.html
Автор:
Some bitwise operators (the and, or, xor and not operators: & | ^ ~ ) also work with strings too since PHP4, so you don't have to loop through strings and do chr(ord($s[i])) like things.

See the documentation of the bitwise operators: https://www.php.net/operators.bitwise

<?php var_dump(
  (
'23456787654' 'zVXYYhoXDYP'), // 'Hello_World'
 
('(!($)^!)@$@' '@ddhfIvn2H$'), // 'hello_world'
 
('{}~|o!Wo{|}' 'Lgmno|Wovmf'), // 'Hello World'
 
(~'<0-14)(98'  &   '}}}}}}}}}'// 'AMPLITUDE'
); ?>

Live demo: https://3v4l.org/MnFeb
2022-09-14 13:31:07
http://php5.kiev.ua/manual/ru/language.operators.string.html

    Поддержать сайт на родительском проекте КГБ