2013-11-24 79 views
0

我有這個PHP代碼片段:的foreach在一個變量

<?php 
    $imageresults = get_image_big($string); 
    foreach ($imageresults as $hasil) { ?> 
     <img src="<?php echo $hasil['media']; ?>" /> 
    <?php } ?> 

我想輸出的結果在一個變量,但它不工作... 我想:

<?php 

function bigimgx() { 
    $imageresults = get_image_big($string); 
    foreach ($imageresults as $hasil) { 
     echo "<img src=\"" . $hasil['media'] . "\" />"; 
    }; 
}; 

$result = bigimgx(); 
?> 

任何想法,我的錯誤可能是?謝謝。

+0

你必須'從功能return'一個值,而不是'echo'它。查看PHP手冊以瞭解有關函數的更多信息:http://php.net/manual/en/language.functions.php。 –

回答

0

當前,您只是echo循環內的結果。您需要改爲return。初始化一個用於存儲HTML內容的變量,循環訪問數組,並將HTML附加到變量,並在循環執行結束後將其添加到return

喜歡的東西:

function bigimgx() { 
    $imageresults = get_image_big($string); 
    $media = ''; 

    foreach ($imageresults as $hasil) { 
     $media .= "<img src=\"" . $hasil['media'] . "\" />"; 
    } 

    return $media; 
} 

$result = bigimgx(); 
+0

非常感謝!!!! – user2753657

0

創建一個字符串並在每個循環附加文本。然後返回該字符串,而不是回顯它。

function bigimgx() { 
    $imageresults = get_image_big($string); 
    $return=''; 
    foreach ($imageresults as $hasil) { 

     $return.= "<img src=\"" . $hasil['media'] . "\" />"; 
    } 
    return $return; 
};