На самом деле я не знаю, как описать то, что я хотел, но я покажу вам:
Например:
$data1 = "the color is";
$data2 = "red";
Что я должен сделать (или обработать), чтобы $ результат был комбинацией $data1
а также $data2
?
Желаемый результат:
$result = "the color is red";
$result = $data1 . $data2;
Это называется конкатенацией строк. В вашем примере не хватает места, поэтому для этого вам понадобится:
$result = $data1 . ' ' . $data2;
Есть несколько способов объединить две строки вместе.
Используйте оператор конкатенации .
(а также .=
)
В PHP .
является оператором конкатенации, который возвращает конкатенацию его правого и левого аргументов
$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;
Если вы хотите добавить строку в другую строку, вы должны использовать .=
оператор:
$data1 = "the color is ";
$data1 .= "red"
Сложный (фигурный) синтаксис / двойные кавычки
В PHP переменные, содержащиеся в двойных кавычках, интерполируются (т. Е. Их значения «заменяются» для переменной). Это означает, что вы можете поместить переменные вместо строк и просто поставить пробел между ними. Фигурные скобки дают понять, где переменные.
$result = "{$data1} {$data2}";
Примечание: это также будет работать без скобок в вашем случае:
$result = "$data1 $data2";
использование sprintf()
или же printf()
sprintf()
позволяет нам форматировать строки, используя мощные параметры форматирования. Это слишком много для такой простой конкатенации, но это удобно, когда у вас сложная строка и / или вы хотите выполнить некоторое форматирование данных.
$result = sprintf("%s %s", $data1, $data2);
printf()
делает то же самое, но сразу отображает вывод.
printf("%s %s", $data1, $data2);
// same as
$result = sprintf("%s %s", $data1, $data2);
echo $result;
Heredoc
Heredocs также может использоваться для объединения переменных в строку.
$result= <<<EOT
$data1 $data2
EOT;
Использовать ,
с echo()
Это работает только при выводе содержимого, а не при присвоении переменной. Но вы можете использовать запятую, чтобы отделить список выражений для PHP, и использовать строку с одним пробелом в качестве одного из этих выражений:
echo $data1, ' ', $data2;
Никто не упомянул об этом, но есть другая возможность. Я использую его для огромных запросов SQL. Вы можете использовать. = Оператор 🙂
$string = "the color is ";
$string .= "red";
echo $string; // gives: the color is red
Объединить их с .
оператор:
$result = $data1 . " " . $data2;
Или используйте строковую интерполяцию:
$result = "$data1 $data2";
$result = implode(' ', array($data1, $data2));
является более общим.
Другая доступная форма это:
<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";
Вы можете попробовать следующую строку кода
$result = $data1." ".$data2;
$result = $data1 . $data2;
попробуй это