2016-12-29 99 views
-1

我有一个foreach循环,它在开始时工作,但重新加载页面后,我只获得最后一个元素。这里的代码Foreach只返回最后一个元素,但它之前工作

$exploded = explode(" ",$someString); 
      foreach ($exploded as $word) { 
       $sentence = " this is $word"; 
      } 
      echo $sentence; 

起初,我还有很长的字符串,包括重复“这是”和独特$字的,但我现在只有一个得到“这是”最后$字。对我来说重要的是,整个事情会变得可变,因为我需要稍后使用该字符串。

+0

把你的echo语句在foreach循环或使用串联,使其一个字符串 –

+0

我知道意志工作,但我需要整个字符串专门在一个变量。 – Vortic

+0

所以把它放在一个变量 –

回答

1
$exploded = explode(" ", $someString); 
$sentence = ''; 
foreach ($exploded as $word) { 
    $sentence .= $word; 
} 
echo $sentence; 
+0

这个解决了我在使用以前的答案时发生的问题。谢谢。原来你必须在分配连接之前设置空字符串,否则你会得到通知。 – Vortic

2

您正在用循环的每次迭代覆盖$ sentence变量。相反的:

$sentence = " this is $word"; 

必须连接$一句新的字符串:

$sentence .= " this is $word"; 
+0

谢谢!现在工作。现在只有一个小问题。 PHP输出现在正确的字符串,但也错误未定义的变量:句子(在线$句子。=“这是$单词”;)。为什么? – Vortic

相关问题