简体   繁体   English

从数组foreach PHP获取变量值

[英]get variable value from array foreach PHP

I'm using array foreach to get the value. 我正在使用数组foreach来获取值。

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

echo $value; //output2

When it echo for output1: 当它回显output1时:

movie1,movie2,movie3 movie1,movie2,movie3

When output 2: 输出2时:

movie3 电影3

I would like to use the variable $value outside of foreach but I can't get output1 result, and get only output2 result. 我想在foreach之外使用变量$ value,但是我无法获得output1结果,而只能获得output2结果。

My desired output2: 我想要的输出2:

movie1,movie2,movie3 movie1,movie2,movie3

如果要迭代$movie数组只是为了将影片打印为逗号分隔的字符串,则不需要这样做。

echo implode(',', $movie);

Assign your values to array inside foreach. 将值分配给foreach中的array

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

Are you trying to store the string in $_SESSION['movie']? 您是否要在$ _SESSION ['movie']中存储字符串? Looks like you are confusing yourself a bit there. 看来您在那里有点困惑。

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

Will result in 将导致

Movie1,Movie2,Movie3 电影1,电影2,电影3

You could just use implode. 您可以使用爆破。 https://secure.php.net/manual/en/function.implode.php eg: https://secure.php.net/manual/zh/function.implode.php,例如:

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

Will result in 将导致

Movie1,Movie2,Movie3 电影1,电影2,电影3

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM