怎么foreach这个数组

时间:2014-03-21 19:24:43

标签: php arrays foreach

如何很好地显示数据结构。 下面粘贴我的多维数组,请帮忙

Array
(
    [1] => Array
        (
            [0] => Array
                (
                    [LP] => 1
                    [Produkt] => product1
                )
        )
    [2] => Array
        (
            [0] => Array
                (
                    [LP] => 2
                    [number] => 157/03/2014
                    [Produkt] => product1
                )
            [1] => Array
                (
                    [LP] => 2
                    [number] => 157/03/2014
                    [Produkt] => product2

===我的CODE ========================================== ====

foreach ($a as $date) {
    $output .= "\t\t\t<ID>". $date[0]['LP']."</ID>\n";

    second foreach for product {
    $output .= "\t\t\t<Produkt>". Produkt ."</Produkt>\n";
}
}

因为我想要这样的东西     1         -Product1     2         -Product1         -Product2     3         -Product1     4         -Product1         -Product2

3 个答案:

答案 0 :(得分:2)

由于您希望输出显示为XML,因此我建议使用以下代码:

function arraytoxml($xmlObj,$data) {
    foreach ($data as $key => $value) {
        if(is_array($value)) {
            if(is_numeric($key)) {
                $key = 'item_' . $key;
            }
            $subnode = $xmlObj->addChild("$key");
            arraytoxml($subnode,$value);
        } else {
            $xmlObj->addChild("$key","$value");
        }
    }
    return $xmlObj;
}

$xml = new SimpleXMLElement("<?xml version=\"1.0\"?><return></return>");
$return_xml = arraytoxml($xml,$data);
print($return_xml);

$ data是你的关联数组。

答案 1 :(得分:1)

foreach($a as $array) {
    foreach($array as $value) {
        echo $value['LP'];
        //etc...
    }
}

答案 2 :(得分:1)

您可以嵌套foreach循环以深入了解数组的更深层元素。

foreach ($a as $array) {
    foreach ($array as $key => $value) {
        $output .= "\t\t\t<ID>". $value['LP']."</ID>\n";
        $output .= "\t\t\t<Produkt>". $value['Produkt'] ."</Produkt>\n";
    }
}