从数组foreach PHP获取变量值

时间:2018-04-17 16:35:02

标签: php arrays foreach

我正在使用数组foreach来获取值。

foreach($movie as $key=>$value) {
    if($key == 0) {
        echo $_SESSION['movie'] = $value;  //output1
    } else {
        echo $_SESSION['movie'] =  ", ".$value; 
    }   
}

echo $value; //output2

当它为output1回显时:

  

MOVIE1,电影2,MOVIE3

输出2时:

  

MOVIE3

我想在 foreach 之外使用变量$ value但是我无法获得 output1 结果,并且只获得 output2 结果。

我想要的输出2:

  

MOVIE1,电影2,MOVIE3

3 个答案:

答案 0 :(得分:5)

如果您正在迭代$movie数组,只是为了以逗号分隔的字符串打印电影,那么您就不需要了。

echo implode(',', $movie);

答案 1 :(得分:0)

  

将您的值分配给foreach内的array

foreach($movie as $key=>$value){
 $moviename[]=$value;
 }

答案 2 :(得分:0)

您是否尝试将字符串存储在$ _SESSION ['movie']中?看起来你有点困惑自己。

foreach($movie as $key=>$value){
    if($key === 0){
        $_SESSION['movie'] = $value; 
    }else{
        $_SESSION['movie'] .=  ", ".$value; 
    }   
}
echo $_SESSION['movie']; //output2

将导致

  

剧场1,电影2,MOVIE3

你可以使用内爆。 https://secure.php.net/manual/en/function.implode.php例如:

$movie = array(0 => 'Movie1', 1 => 'Movie2', 2 => 'Movie3');
$movie_str = implode(',', $movie);
echo movie_str;

将导致

  

剧场1,电影2,MOVIE3