मैं मूल्य प्राप्त करने के लिए सरणी foreach का उपयोग कर रहा हूँ।

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

echo $value; //output2

जब यह आउटपुट 1 के लिए गूंजता है:

मूवी1,मूवी2,मूवी3

जब आउटपुट 2:

चलचित्र3

मैं foreach के बाहर चर $value का उपयोग करना चाहता हूं, लेकिन मुझे output1 परिणाम नहीं मिल रहा है, और केवल output2 परिणाम प्राप्त कर सकता हूं।

मेरा वांछित आउटपुट 2:

मूवी1,मूवी2,मूवी3

1
new_learner 17 अप्रैल 2018, 19:35

3 जवाब

सबसे बढ़िया उत्तर

यदि आप फिल्मों को अल्पविराम से अलग स्ट्रिंग के रूप में प्रिंट करने के लिए $movie सरणी को पुनरावृत्त कर रहे हैं, तो आपको इसकी आवश्यकता नहीं है।

echo implode(',', $movie);
5
Don't Panic 17 अप्रैल 2018, 19:40

foreach के अंदर array को अपने मान असाइन करें।

foreach($movie as $key=>$value){
 $moviename[]=$value;
 }
0
Ashutosh Sharma 17 अप्रैल 2018, 19:42

क्या आप स्ट्रिंग को $_SESSION['movie'] में स्टोर करने का प्रयास कर रहे हैं? ऐसा लगता है कि आप वहां खुद को थोड़ा भ्रमित कर रहे हैं।

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

में परिणाम होगा

मूवी1,मूवी2,मूवी3

आप बस इंपोड का उपयोग कर सकते हैं। 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,मूवी3

0
Second2None 17 अप्रैल 2018, 19:51