【问题标题】:array or strings concatenation in phpphp中的数组或字符串连接
【发布时间】:2018-04-16 01:27:44
【问题描述】:

我有以下 array_filter 的结果:-

enter image description here

我需要改进上面的输出:我想在“开始”之前添加,在“结束”之后添加(单词或复合词,像这样):

例如:

**$start** = 'de la' ;
**$end** = 'en una';

我需要做些什么来更改所有输出字符串,以获得最终输出:

以下被设计为“$y”;

**de la** revolución; verticalmente, el tema debe enmarcarse **en una** 
**de la** Revolución francesa están comprometidos **en una**
**de la** obligación humillante de traducir la lengua nacional **en una** 
**de la**s interjecciones, que al igual que nuestros gritos constituy **en una**
**de la**'verdadera filosofía {32}. La lengua universal basada **en una**

以下代码我测试没有成功:

$outputx .= $start + $y + $end;

echo $start . $y . $end ;

我在这里需要很大的帮助,我会非常感激的

小马

【问题讨论】:

  • 闻起来像作业
  • 请在此处(在您的问题中)发布数组,而不是在图片中。

标签: php arrays string concatenation


【解决方案1】:

您必须使用foreach 声明

$start = 'de la';
$end = 'en una';
foreach($your_array as $y){
   echo "$start $y $end ";
}

【讨论】:

  • 修改前缀/后缀不是一个好习惯。如果稍后更改,他们必须添加空格。我建议像@Alive to Die 那样在你的代码中修改它。如果您进行单元测试,这将失败,因为由于双空格,它们将与预期的结果不同。
【解决方案2】:

您的另一种替代解决方案:

//Lets say you have an array containing all the texts
$textList = [];
$prefix   = 'de la';
$suffix   = 'en una';

$sep    = sprintf(' %s %s ', $prefix, $suffix);
$result = sprintf('%s %s %s', $prefix, implode($sep, $textList), $suffix);

测试:https://eval.in/892350

【讨论】:

  • 非常感谢。字细
猜你喜欢
  • 2015-09-14
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-09
相关资源
最近更新 更多