2015-09-29 2 views
1

У меня есть цикл foreach, который будет отображать весь выбор, сделанный пользователем из флажков.Хранение вывода петли foreach в переменную

Я пытаюсь сохранить значение в переменной с именем $getCentralArea. Однако, когда я эхо $getCentralArea, он показывает 4 - только последнее значение выбранного флажка. Правильное значение, которое я должен получить, - 1,2,3,4.

if(!empty($_POST['centralArea'])) 
{ 
    foreach($_POST['centralArea'] as $centralArea) 
    { 
     $getCentralValue = $centralArea.","; //Output will be in the following format 1,2,3,4 
    } 
}else{ $getCentralArea="";} 
+0

использовать это $ getCentralValue = $ centralArea ""..; для строки или создания массива. –

+0

использовать $ getCentralValue [] для создания массива всех элементов. –

ответ

1

Вы можете сцепить но это оставляет конечную запятую. Кроме того, нет необходимости в цикле, просто implode() массив:

$getCentralValue = implode(',', $_POST['centralArea']); 
0

Вы должны сцепить свои $centralArea с до $getCentralValue с помощью оператора . (или .=), в противном случае, он просто переписывает $getCentralValue каждый раз, когда вы цикл:

if(!empty($_POST['centralArea'])) 
{ 
    foreach($_POST['centralArea'] as $centralArea) 
    { 
     $getCentralValue .= $centralArea.","; //Output will be in the following format 1,2,3,4 
    } 
    $getCentralValue = rtrim($getCentralValue, ","); 
} else{ $getCentralArea=""; } 
0

попробуйте так: Используйте взрываться.

либо

$result=implode(",",$_POST['centralArea']);//Output will be in the following format 1,2,3,4 

или это в случае, если вы не хотите разместить переменные использовать непосредственно.

 $getCentralValue=array(); 
     foreach($_POST['centralArea'] as $centralArea) 
     { 
      $getCentralValue[]= $centralArea; 
     } 

     $result=implode(",",$getCentralValue);//Output will be in the following format 1,2,3,4 

    echo $result; 
0

Я предпочел бы подтолкнуть их в массив, а затем распечатать их с помощью взрывать

if(!empty($_POST['centralArea'])) 
      { 
       $stack = array(); 
       foreach($_POST['centralArea'] as $centralArea) 
       { 
        array_push($stack,$centralArea); 
       } 
//print in 1,2,3,4 
$comma_separated = implode(",", $stack); 

echo $comma_separated; 

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