PHP - объединить текст с 2 переменными за 1 операцию - PullRequest
0 голосов
/ 29 августа 2018

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

$var1 = $var2 = "the sky is ";  
$var1 .= "grey and ";
$var1 .= $var2 .= "blue";

Очевидно, это не сработает, но желаемый результат:

$var 1 : "the sky is grey and blue"
$var 2 : "the sky is blue"

Другая операция не будет здесь особой, но больше о том, чтобы знать, возможно ли это.
Я мог бы создать третью временную переменную, но мне было интересно, если бы я мог ее избежать, другие решения состояли бы в том, чтобы иметь только одну переменную и удалять с помощью операций с подстрокой.

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

@ janmyszkier подход чище, но есть много способов остаться без дела, просто увидел ваше слово сложным, поэтому я сделал это для вас, что действительно происходило за кулисами

$text= ["the sky is ","grey and "];

list($var,$var2) = $text;

echo addSuffix('blue',$var);

echo addSuffix('blue',$var2);


function addSuffix($suffix,$value) {

  return $value.$suffix;
}
0 голосов
/ 29 августа 2018

и более сложный вариант:

$var1 = $var2 = "the sky is ";
$var1 .= "grey and ";
list($var1,$var2) = array_map(function($var){
    return $var .= 'blue';
},[$var1,$var2]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...