从'list'和#foreach'获取数组中的所有值

时间:2014-09-03 14:43:58

标签: php arrays list foreach

我尝试使用'list'和'foreach'列出一个gallary的概述,但我总是从我的数据库中得到一个(最老的)结果。

我用这个

while($row = mysql_fetch_array($result)){ 

           $galpath1 = "galerie/";
           $gal_title = $row['gal_title'];
           $gal_path= $galpath1.$row['uploads'];
           $nickname = $row['nickname'];
           $added = $row['format_date']; 



            $galshow = [
                        [$gal_path, $gal_title, $added],
                     ]; 
            }
if(!empty($gal_path))    
{

 var_dump($galshow);
foreach ($galshow as list($gal_pathes, $gal_titles,  $addeds)) {
List of galerys
}

我怎样才能将它带到工作中,以便列出与我的数据库中的选择相匹配的所有画廊?

非常感谢cdhowie 你救了我的一天。这正是我做错了。 所以感谢快速反应。 :)

1 个答案:

答案 0 :(得分:1)

while循环的每次迭代,覆盖 $galshow中的值,并使用包含一个元素的新数组。因此,此数组将只包含一个元素,它将是从数据库中提取的最后一行。

相反,在循环外部创建一个新数组并在循环内附加到它:

$galshow = array();

while($row = mysql_fetch_array($result)){ 
    $galpath1 = "galerie/";
    $gal_title = $row['gal_title'];
    $gal_path = $galpath1.$row['uploads'];
    $nickname = $row['nickname'];
    $added = $row['format_date']; 

    // This syntax will append a new array to the end of the $galshow array.
    $galshow[] = [$gal_path, $gal_title, $added];
}