2013-11-24 58 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; 
};