Как передать значение через запятую в переменную с помощью цикла foreach в codeigniter - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть массив с некоторыми значениями после выполнения цикла foreach. Я хочу передать каждое значение переменной через запятую, но последнее значение не должно идти с запятой (,).

<?php
$aa=array("id"=>1,"id"=>2,"id"=>3,"id"=>4);


$otherV = '';
foreach($aa as $key => $value){
if (!empty($otherV))
{

   $otherV = $value.",";
}
  else{
      $otherV = $value;
    }

}


echo $otherV;
?>

ожидаемый результат Я хочу вывод, как это: 1,2,3,4

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

Вы не можете иметь одинаковую позицию для каждого значения массива

$aa=array("a" => 1, "b" => 2, "c" =>3, "d" => 4);
foreach($aa as $value)
{
   $temp[]=$value;
}
echo implode(",",$temp);
0 голосов
/ 18 ноября 2018

попробуйте это:

<?php
$aaray=array("a"=>1,"b"=>2,"c"=>3,"d"=>4);
$otherV = '';
$len = count($aaray);
$i=0;
foreach($aaray as $value){
    $i++;
   //check if this is not the last iteration of foreach
   //then add the `,` after concatenation 
    if ($i != $len) {
       $otherV .= $value.",";
    }else{
        //check if this is the last iteration of foreach
        //then don't add the `,` after concatenation 
        $otherV .= $value;
    }  
}
echo $otherV;
?>
0 голосов
/ 17 ноября 2018

В вашем коде есть ряд ошибок

<?php
// fix array creation, dont use `->` use `=>`
// and the keys cannot all be the same
$aa=array("a"=>1,"b"=>2,"c"=>3,"d"=>4);

$otherV = '';
foreach($aa as $key => $value){
   //concatenate the value into otherV using .=
   $otherV .= $value.",";
}
rtrim( $otherV, ',');  // remove last comma
echo $otherV;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...