2016-10-17 130 views
0

我有这样的输出:PHP循环多维关联数组

enter image description here

我没有任何想法,我怎样才能让我的数组是这样的:

$array[ 

    0 => [ 
     'item_id' => 6, 
     'price' => "2311.00", 
     'qty' => 12, 
     'discount' => 0 
    ], 

    1 => [ 
     'item_id' => 7, 
     'price' => "1231.00", 
     'qty' => 1, 
     'discount' => 12 
    ], 

    2 => [ 
     'item_id' => 8, 
     'price' => "123896.00", 
     'qty' => 0, 
     'discount' => 24 
    ] 


] 

我已经开始了循环,但我真的不知道如何得到这种结构。

foreach($array as $wishlist){ 
     foreach($wishlist as $k => $v){ 

     } 
    } 
+0

显示'$ wishlist'内容 – RomanPerekhrest

+0

该数组是屏幕截图。谢谢。 – Rbex

回答

0

您应该必须使用for循环。

for($i=0;$i<count(youarray['item_id']);$i++) { 
    $wishlist[$i]['item_id'] = youarray['item_id'][$i]; 
    $wishlist[$i]['price'] = youarray['price'][$i]; 
    $wishlist[$i]['qty'] = youarray['qty'][$i]; 
    $wishlist[$i]['discount'] = youarray['discount'][$i]; 
} 

或用户的foreach这样

foreach(youarray['item_id'] as $key=>$val) { 
    $wishlist[$key]['item_id'] = $val; 
    $wishlist[$key]['price'] = youarray['price'][$key]; 
    $wishlist[$key]['qty'] = youarray['qty'][$key]; 
    $wishlist[$key]['discount'] = youarray['discount'][$key]; 
} 
2

可以遍历的内外阵列来构建你的数据像这样,这可以让你进一步键添加到阵列中后 - 但不依赖于你内心的数组的键是连续

$wishlist = []; 
foreach ($array as $outerKey => $outerValue) { 
    foreach ($outerValue as $innerKey => $innerValue) { 
     $wishlist[$innerKey][$outerKey] = $innerValue; 
    } 
} 
+0

你是男人兄弟!难以理解... – Rbex

1

你的循环应该是这样的:

foreach($array as $item => $wishlist){ 

     foreach($wishlist as $k => $v){ 

      $new_array[$k][$item] = $v; 

     } 
    }