Php 具有索引元素的多维数组上的递归迭代器

Php 具有索引元素的多维数组上的递归迭代器,php,recursion,pdo,iterator,rows,Php,Recursion,Pdo,Iterator,Rows,我试图遍历这个数组并删除任何类型的排序:(1、2、3、4等) 使用以下代码: foreach($json['orders']['cnr_output_ship_to_header'] as $header) { $iterator_orders = new \IteratorIterator(new \ArrayIterator($header)); $iterator_guests = new \RecursiveIteratorIterator(new\Recur

我试图遍历这个数组并删除任何类型的排序:(1、2、3、4等)

使用以下代码:

    foreach($json['orders']['cnr_output_ship_to_header'] as $header)
{



   $iterator_orders = new \IteratorIterator(new \ArrayIterator($header));
    $iterator_guests = new \RecursiveIteratorIterator(new\RecursiveArrayIterator($header['guests']['cnr_output_guest_detail']));
    $iterator_items = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($header['items']['cnr_output_item_detail']));


$orders = (array)iterator_to_array($iterator_orders,true); 
$guests = (array)iterator_to_array($iterator_guests,true);
$items = (array)iterator_to_array($iterator_items,true);




pdo_insert('cnr_output_ship_to_header', (array)$orders);
pdo_insert('cnr_output_guest_detail', (array)$guests);
pdo_insert('cnr_output_item_detail', (array)$items);


}

但它正在删除元素0和1。知道如何包括[0]和[1]吗

我抓取了JSON并使用了simpleXML,foreach就像前面提到的那样工作。

这个$JSON['orders']['cnr\u output\u ship\u to\u header']包含什么?提供的示例数组与迭代数组不同。每个['cnr_output_ship_to_header']由一个包含所有其他索引的索引组成。如果$json['orders']['cnr_output_ship_to_header']索引中的索引有多个子元素,则$guests或$items中除了最后一个元素外,其余所有元素都将丢失。这与我的pdo_insert函数无法插入编号/有序数组这一事实有关。在遍历$iterator\u guests或$iterator\u items子元素时,如何展平默认的编号系统$顺便说一句,Orders也可以正常工作。$json['Orders']['cnr\u output\u ship\u to\u header']看起来像:
数组('col1'=>'值','col2'=>'值','col3'=>'值','col4'=>'值','col5'=>'值',['col6'=>'值','col7'=>'值',])数组('col1'=>'值','col2'=>'值','col3'=>'值','col4'=>'值','col5'=>'值',',数组('col1'=>'值','col7'=>'值',])其中
[]
被放置为空。其他索引与我问题开头的示例类似。
    foreach($json['orders']['cnr_output_ship_to_header'] as $header)
{



   $iterator_orders = new \IteratorIterator(new \ArrayIterator($header));
    $iterator_guests = new \RecursiveIteratorIterator(new\RecursiveArrayIterator($header['guests']['cnr_output_guest_detail']));
    $iterator_items = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($header['items']['cnr_output_item_detail']));


$orders = (array)iterator_to_array($iterator_orders,true); 
$guests = (array)iterator_to_array($iterator_guests,true);
$items = (array)iterator_to_array($iterator_items,true);




pdo_insert('cnr_output_ship_to_header', (array)$orders);
pdo_insert('cnr_output_guest_detail', (array)$guests);
pdo_insert('cnr_output_item_detail', (array)$items);


}