如何在foreach之外获取所有xml数据,或如何在xml内部声明此foreach

时间:2018-12-03 05:11:03

标签: php arrays xml simplexml

   foreach($items as $item => $values) {
   $_product =  wc_get_product( $values['data']->get_id()); 
    $quantity = $values['quantity'];
        $length =  $_product->get_length(); 
    $width  =  $_product->get_width();  
        $height =  $_product->get_height();     

    if(($_product->get_weight()) && ($values['quantity'])){
           $weight = $_product->get_weight() *  $values['quantity'];
    }else{
        $weight = $_product->get_weight();
     } 

 $test_array = array (
'PackageType' => 'ITEM',
'Items' => $quantity,
'TotalKgs' => $weight,
'TotalCubic' => '0',
'Length' => $length,
'Width' => $width,
'Height' => $height,    
);

$xml_data1 = array_to_xml($test_array, new SimpleXMLElement('<LineItem/>'));
$dom = dom_import_simplexml($xml_data1);
$xml_data = $dom->ownerDocument->saveXML($dom->ownerDocument->documentElement);
//print_r( $xml_data);
$testing = htmlentities($xml_data);
$testing1 =html_entity_decode($testing);
echo    $testing1;
 }

我需要$ testing1变量中foreach之外的所有xml数据 传递xml 我需要$ testing1变量中的foreach之外的所有xml数据 传递xml

1 个答案:

答案 0 :(得分:0)

为什么不声明诸如$globalXML = "";之类的全局变量,然后在foreach循环内,仅在末尾$globalXML .= $testing1;处运行?

通过这种方式,它将一直将解析后的XML逐一添加到全局变量中,直到foreach完成运行为止。

此外,您将可以在文档中的任何位置使用$globalXML变量!

希望有帮助!