PHP5中的嵌套foreach循环

PHP5中的嵌套foreach循环,php,xml-parsing,foreach,simplexml,php-5.2,Php,Xml Parsing,Foreach,Simplexml,Php 5.2,这就是交易: 我有一个数组,其中包含智能手机制造商的名称,还有一个XML文件,其中包含每个特定手机的规格 我想做的是根据制造商对手机进行分组。我使用嵌套的FOREACH循环来实现这一点。这是我的代码: foreach ($makes as $manufacturer){ echo '<div>'.'<h2>'.$manufacturer.'</h2>'.'<hr>'; foreach ($xml as $it

这就是交易:

我有一个数组,其中包含智能手机制造商的名称,还有一个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>';
     }
foreach($makeas$manufacturer){
回显“.”制造商“,”
”; foreach($xml作为$item){ 如果($item->make==$manufacturer){ $src=$item->thumb; 回显“”。 $item->make'.$item->model'.'; } } 回声'; }
这种方法的问题是,出于某种原因,我的页面只显示每个制造商的第一部手机,而不是浏览每个型号

我做错了什么

以下是XML示例:

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

此外,如果我删除了外部循环,代码将完美地工作,并显示XML中的每一部手机

您有一个输入错误:

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

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

请注意echo末尾的“;”。

如果数据位于数据库中,则使用XML示例会容易得多。内部循环的主题
$xml
中有什么?它不是打字错误。还有一个结束标记。它就在下一行,我忘了复制它