fork download
  1. <?php
  2. $products = [[
  3. "id" => 1947
  4. ,"cat_id" => 48
  5. ,"tax_class_id" => 18
  6. ,"sku" => "620068-429-S"
  7. ,"qty_ordered" => 5
  8. ],[
  9.  
  10.  
  11. "id" => 1947
  12. ,"cat_id" => 48
  13. ,"tax_class_id" => 28
  14. ,"sku" => "620068-429-M"
  15. ,"qty_ordered" => 9
  16. ],[
  17.  
  18.  
  19. "id" => 1947
  20. ,"cat_id" => 48
  21. ,"tax_class_id" => 18
  22. ,"sku" => "620068-429-L"
  23. ,"qty_ordered" => 9
  24. ],[
  25.  
  26.  
  27. "id" => 1947
  28. ,"cat_id" => 48
  29. ,"tax_class_id" => 28
  30. ,"sku" => "620068-429-XL"
  31. ,"qty_ordered" => 9
  32. ]];
  33.  
  34. $val = [];
  35. $newArray = [];
  36. foreach ($products as $product) {
  37.  
  38. $key = array_search($product['tax_class_id'],$val);
  39. if(!$key) {
  40. $val[] = $product['tax_class_id'];
  41. $key = array_search($product['tax_class_id'],$val);
  42. }
  43. $newArray[$key][] = $product;
  44. }
  45. var_dump($newArray);
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
array(2) {
  [0]=>
  array(2) {
    [0]=>
    array(5) {
      ["id"]=>
      int(1947)
      ["cat_id"]=>
      int(48)
      ["tax_class_id"]=>
      int(18)
      ["sku"]=>
      string(12) "620068-429-S"
      ["qty_ordered"]=>
      int(5)
    }
    [1]=>
    array(5) {
      ["id"]=>
      int(1947)
      ["cat_id"]=>
      int(48)
      ["tax_class_id"]=>
      int(18)
      ["sku"]=>
      string(12) "620068-429-L"
      ["qty_ordered"]=>
      int(9)
    }
  }
  [1]=>
  array(2) {
    [0]=>
    array(5) {
      ["id"]=>
      int(1947)
      ["cat_id"]=>
      int(48)
      ["tax_class_id"]=>
      int(28)
      ["sku"]=>
      string(12) "620068-429-M"
      ["qty_ordered"]=>
      int(9)
    }
    [1]=>
    array(5) {
      ["id"]=>
      int(1947)
      ["cat_id"]=>
      int(48)
      ["tax_class_id"]=>
      int(28)
      ["sku"]=>
      string(13) "620068-429-XL"
      ["qty_ordered"]=>
      int(9)
    }
  }
}