Похоже на на этот вопрос , но на PHP. Я хочу объединить массив строк, но игнорировать пробелы.
Например, предположим, что я хочу построить атрибут full_name
в Laravel, используя $this->title
, $this->first_name
и $this->last_name
, каждый разделены одним пробелом. Самая простая мысль, которую я имел, состояла в том, чтобы собрать их все в массив и передать в implode()
, как показано ниже:
implode(' ', [$this->title, $this->first_name, $this->last_name]);
Однако я не знаю, являются ли эти значения на самом деле будет установлен или нет. И если они установлены, я не хочу, чтобы пустые строки загрязняли вывод множественными пробелами между непустыми элементами. Есть ли встроенная функция или, по крайней мере, более простой / короткий способ сделать следующее?
public function concatenateStringsFromArray($glue = ' ', $arrayOfStrings)
{
$result = '';
foreach($arrayOfStrings as $piece)
$result .= isset($piece) ? $piece . $glue : '';
return $result;
}