2016-12-29 2 views
-1

У меня есть цикл foreach, и он работал с самого начала, но после перезагрузки страницы я получаю только последний элемент. Вот кодForeach возвращает только последний элемент, но он работал до

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

Сначала я получил длинную строку, состоящую из повторяющихся «это» и уникальный $ слово, но теперь я получаю только один «это» и последнее слово $. Для меня важно, что все это будет переменной, потому что мне нужно будет использовать эту строку позже.

+0

Поместите эхо заявление в цикле Еогеасп или использовать конкатенацию, чтобы сделать это одна строка –

+0

Я знаю, что воля но мне нужно, чтобы вся строка была конкретно в переменной. – Vortic

+0

Так что положите его в переменную –

ответ

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

Эта проблема решена, когда я использовал предыдущий ответ. Благодарю. Оказывается, вам нужно установить пустую строку перед назначением конкатенации, иначе вы получите уведомление. – Vortic

2

Вы переписываете переменную $ предложения каждой итерацией цикла. Вместо того, чтобы:

$sentence = " this is $word"; 

Вы должны сцепить $ предложение с новой строки:

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

Спасибо! Работает сейчас. Сейчас только одна небольшая проблема. PHP выводит теперь правильную строку, но также и ошибку Неопределенная переменная: предложение (в строке $ sentence. = "This $ word";). Зачем? – Vortic

Смежные вопросы