0

所以这里是交易:

我有一个数组,其中包含智能手机的制造商名称和一个包含每个特定手机规格的 XML 文件。

我想做的是根据制造商对手机进行分组。我正在使用嵌套的 FOREACH 循环来执行此操作。这是我的代码:

    foreach ($makes as $manufacturer){
        echo '<div>'.'<h2>'.$manufacturer.'</h2>'.'<hr>';
        foreach ($xml as $item){
            if($item->make == $manufacturer){
                $src = $item->thumb;
                echo '<div>'."<img src='$src' width='100'/>".'<h1>'.
                        $item->make.' '.$item->model.'</h1>'.'</div>';
            }
         }  
         echo '</div>';
     }

这种方法的问题在于,出于某种原因,我的页面只显示每个制造商的第一部手机,而不是浏览每个型号。

我在这里做错了什么?

这是 XML 示例:

<?xml version="1.0" encoding="utf-8"?>
<items>
    <item>
       <make></make>
       <model></model>
       <thumb></thumb>
    </item>
</items>

此外,如果我删除外循环,代码可以完美运行并显示 XML 中的每个电话

4

1 回答 1

0

你有一个错字:

echo '<div>'."<img src='$src' width='100'/>".'<h1>'.
$item->make.' '.$item->model.'</h1>'.

应该

echo '<div>'."<img src='$src' width='100'/>".'<h1>'.
$item->make.' '.$item->model.'</h1>';

注意“;” 在回声的尽头。

于 2013-07-07T20:34:21.923 回答