Переменная PHP 1-я переменная 3 входа [дубликат]

Показывать месяцы как январь 2017 года февраль 2017 и т. д.:

scale_x_date(date_breaks = "1 month", date_labels =  "%b %Y") 

Указать даты, если они занимают слишком много места:

theme(axis.text.x=element_text(angle=60, hjust=1))
95
задан halfer 2 April 2017 в 12:26
поделиться

18 ответов

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

$full = $part1 . $part2;

В вашем примере вы хотели бы сделать:

$result = $data1 . ' ' . $data2;

Вы заметите, что я добавил строка одного пробела между двумя переменными. Это связано с тем, что ваш оригинал $data1 не закончился пробелом. Если бы вы объединили их без него, ваша переменная $result в итоге выглядела бы как the color isred.

4
ответ дан Aken Roberts 16 August 2018 в 08:01
поделиться

Никто не упомянул об этом, но есть и другая возможность. Я использую его для огромных запросов sql. Вы можете использовать. = Operator:)

$string = "the color is ";
$string .= "red";

echo $string; // gives: the color is red
18
ответ дан codelame 16 August 2018 в 08:01
поделиться
$result = $data1 . $data2;

попробуйте это

7
ответ дан Farhan 16 August 2018 в 08:01
поделиться

Объединить их с оператором .:

$result = $data1 . " " . $data2;

Или использовать строчную интерполяцию:

$result = "$data1 $data2";
17
ответ дан Jeremy Ruten 16 August 2018 в 08:01
поделиться
$s = "my name is ";

$s .= "keyur";

echo $s; 

результат:

my name is keyur
3
ответ дан Johannes 16 August 2018 в 08:01
поделиться
  • 1
    Добро пожаловать в StackOverflow. Приятно, если вы ответите на вопросы. Однако, если вы это сделаете, пожалуйста, отформатируйте его надлежащим образом. Далее, ваш ответ уже был дан. Как это добавляет дополнительную ценность для этой четырехлетней почты? – T3 H40 22 March 2016 в 14:35
  • 2
    Это всего лишь повторение существующих ответов. – Pang 22 September 2016 в 00:48

Существует несколько способов объединить две строки вместе.

Использовать оператор конкатенации ..=)

В PHP . - оператор конкатенации, который возвращает конкатенацию его правого и левого аргументов

$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;

Если вы хотите добавить строку в другую строку, вы должны использовать оператор .=:

$data1 = "the color is ";
$data1 .= "red"

Complex ( curly) синтаксис / двойные кавычки

В 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;
57
ответ дан John Conde 16 August 2018 в 08:01
поделиться
$result = $data1 . $data2;

Это называется конкатенацией строк. В вашем примере не хватает места, поэтому для этого вам понадобится:

$result = $data1 . ' ' . $data2;
149
ответ дан Logan Serman 16 August 2018 в 08:01
поделиться

Многие ответы верны. Но вы можете столкнуться с проблемой, когда хотите, чтобы строки были разделены линией. Трюк делает что-то вроде этого:

$result = $data1 . "\r\n" . $data2;

0
ответ дан Lucas Vall 16 August 2018 в 08:01
поделиться
  • 1
    Ваш фрагмент не делает то, что вы ожидаете здесь: используйте двойную кавычку для & quot;\r\n & quot; – niconoe 23 February 2015 в 14:15
  • 2
    Отредактировано использование двойной кавычки. – Lucas Vall 24 June 2015 в 01:18
  • 3
    Это может быть правильным ответом где-то на StackOverflow, но не на этой странице. – mickmackusa 6 July 2018 в 01:58

На самом деле это не ответ, но это может быть полезно для общей культуры PHP


Вы можете использовать функции array и implode например:

$aStr = [];
$aStr[] = "the color is";
$aStr[] = "red";
implode($aStr);

, но он ниже ...


Здесь вы можете найти пример с помощью оператора concat .=

И здесь вы можете найти пример с помощью функции array и implode

-1
ответ дан Nolwennig 16 August 2018 в 08:01
поделиться

Это очень просто. Просто используйте

$result = $data1 . $data2;

В PHP . (concatenate) как дополнение.

0
ответ дан Pang 16 August 2018 в 08:01
поделиться
  • 1
    это неправильный ответ. это приводит к «цвету». – MERT DOĞAN 7 March 2016 в 17:23
  • 2
    @ MERTDOĞAN Немного поздно, но я отредактировал ответ, чтобы включить пространство. – SlickRemix 15 October 2016 в 18:20
  • 3
    нет проблем @SlickRemix – MERT DOĞAN 20 October 2016 в 14:26

Я считаю, что наиболее эффективный способ:

$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;

Если вы хотите реализовать локализацию, вы можете сделать что-то вроде этого:

$translationText = "the color is %s";
$translationRed  = "red";
$result = sprintf($translationText, $translationRed);

Это немного медленнее, но он не предполагает грамматических правил.

1
ответ дан Pedro Amaral Couto 16 August 2018 в 08:01
поделиться

1.Concatenate строка (пробел между каждой строкой)

Фрагмент кода:

<?php
 $txt1 = "Sachin";
 $txt2 = "Tendulkar";

 $result = $txt1.$txt2 ;
 echo  $result. "\n";
 ?>  

Выход: SachinTendulkar

2.Concatenate строка, где существует пространство

Фрагмент кода:

<?php
 $txt1 = "Sachin";
 $txt2 = "Tendulkar";

 $result = $txt1." ".$txt2; 
 echo  $result. "\n";
?>  

Выход: Sachin Tendulkar

  1. Объединить строку, используя функцию printf.

Фрагмент кода:

  <?php
 $data1 = "Sachin";
 $data2 = "Tendulkar";
 printf("%s%s\n",$data1, $data2);
 printf("%s %s\n",$data1, $data2); 
?>

Выход: SachinTendulkar Sachin Tendulkar

1
ответ дан rashedcs 16 August 2018 в 08:01
поделиться
  • 1
    Что предлагает этот ответ, который еще не был предоставлен другими ответами? – John Conde 27 August 2017 в 01:46

Это должно сработать для вас:

$result = $data1." ".$data2;

Ссылка: Переменные строки PHP

3
ответ дан Sebastian 16 August 2018 в 08:01
поделиться
You can do this using PHP



<!DOCTYPE html>
<html>
<body>

<?php
$txt1 = "the color is";
$txt2 = " red!";
echo $txt1.$txt2;
?>  

</body>
</html>

This will combine two strings and the putput will be: "the color is"
You can get the same output using below javascript code.




<script type="text/javascript">
var data1 = "the color is";
var data2 = "red";
var result = data1+" "+data2;
alert(result);
</script>
3
ответ дан sunil 16 August 2018 в 08:01
поделиться
  • 1
    Ваши сфабрикованные входные значения не представляют собой входную строку OP, и вы отдаете предпочтение решениям, которые были заявлены ранее. Это не вопрос javascript, так что совет не имеет значения. Это сообщение не добавляет значения для страницы. – mickmackusa 6 July 2018 в 01:55
  • 2
    @mickmackusa, ок, я обновил текст, вы правы, но я ответил js здесь, потому что это очень простой вопрос, поэтому пользователь может узнать разницу – sunil 6 July 2018 в 11:28
  • 3
    Ваше обновление НЕ использует текст OP. Не предоставляйте javascript-решения для php-вопросов. Этот ответ плохо отформатирован и не добавляет значения для страницы. – mickmackusa 6 July 2018 в 11:48

Доступна другая форма:

<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";
6
ответ дан Tim G 16 August 2018 в 08:01
поделиться

Вы можете попробовать следующую строку кода

$result = $data1." ".$data2;
6
ответ дан user710502 16 August 2018 в 08:01
поделиться
$result = implode(' ', array($data1, $data2));

является более общим.

10
ответ дан Why 50 points to comment... 16 August 2018 в 08:01
поделиться
  • 1
    это очень полезно в случае, когда вы хотите создать список с разделителями, поскольку он проверяет, есть ли у vars какие-либо значения $email_to = implode(', ', array($addr1, $addr2, addr3)); нет необходимости в if($addr != '') и т. д. – Aba 5 January 2016 в 18:12
  • 2
    Не выбирайте функции массива, если только вы не должны. Потому что функции массива все медленнее, чем операторы. Дополнительно; они используют больше баранов. – MERT DOĞAN 20 October 2016 в 14:28

Я не совсем понимаю, каковы ваши требования, но в основном вы можете отдельно определить две переменные, а затем объединить их вместе.

$data1="The colour is ";
$data2="red";

$result=$data1.$data2;

Таким образом вы можете даже объявить $ data2 как глобальную чтобы вы могли изменить его значение во время выполнения, например, он мог получить ответ «красный» из флажка.

1
ответ дан Yoosuf 16 August 2018 в 08:01
поделиться
Другие вопросы по тегам:

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