3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ "partner_id" => "10017", "store_id" => "1000", "item_type_id" => "2", "value" => "58", "category" => "1" ], [ "partner_id" => "10017", "store_id" => "1000", "item_type_id" => "1", "value" => "63", "category" => "1" ], [ "partner_id" => "0", "store_id" => "1000", "item_type_id" => "3", "value" => "29", "category" => "1" ], [ "partner_id" => "0", "store_id" => "1000", "item_type_id" => "2", "value" => "58", "category" => "1" ], [ "partner_id" => "0", "store_id" => "1001", "item_type_id" => "1", "value" => "65", "category" => "1" ], [ "partner_id" => "0", "store_id" => "1001", "item_type_id" => "2", "value" => "58", "category" => "1" ], [ "partner_id" => "0", "store_id" => "1001", "item_type_id" => "3", "value" => "29", "category" => "1" ], [ "partner_id" => "0", "store_id" => "1000", "item_type_id" => "1", "value" => "65", "category" => "1" ] ]; $result = []; foreach ($array as $row) { if ($row['partner_id'] || !isset($result[$row['store_id']][$row['item_type_id']])) { $result[$row['store_id']][$row['item_type_id']][$row['partner_id']] = $row; } } var_export(array_map(function($row) { return array_merge(...$row); }, $result));
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.20, 8.3.0 - 8.3.4, 8.3.6 - 8.3.8
array ( 1000 => array ( 0 => array ( 'partner_id' => '10017', 'store_id' => '1000', 'item_type_id' => '2', 'value' => '58', 'category' => '1', ), 1 => array ( 'partner_id' => '10017', 'store_id' => '1000', 'item_type_id' => '1', 'value' => '63', 'category' => '1', ), 2 => array ( 'partner_id' => '0', 'store_id' => '1000', 'item_type_id' => '3', 'value' => '29', 'category' => '1', ), ), 1001 => array ( 0 => array ( 'partner_id' => '0', 'store_id' => '1001', 'item_type_id' => '1', 'value' => '65', 'category' => '1', ), 1 => array ( 'partner_id' => '0', 'store_id' => '1001', 'item_type_id' => '2', 'value' => '58', 'category' => '1', ), 2 => array ( 'partner_id' => '0', 'store_id' => '1001', 'item_type_id' => '3', 'value' => '29', 'category' => '1', ), ), )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array ( 1000 => array ( 0 => array ( 'partner_id' => '10017', 'store_id' => '1000', 'item_type_id' => '2', 'value' => '58', 'category' => '1', ), 1 => array ( 'partner_id' => '10017', 'store_id' => '1000', 'item_type_id' => '1', 'value' => '63', 'category' => '1', ), 2 => array ( 'partner_id' => '0', 'store_id' => '1000', 'item_type_id' => '3', 'value' => '29', 'category' => '1', ), ), 1001 => array ( 0 => array ( 'partner_id' => '0', 'store_id' => '1001', 'item_type_id' => '1', 'value' => '65', 'category' => '1', ), 1 => array ( 'partner_id' => '0', 'store_id' => '1001', 'item_type_id' => '2', 'value' => '58', 'category' => '1', ), 2 => array ( 'partner_id' => '0', 'store_id' => '1001', 'item_type_id' => '3', 'value' => '29', 'category' => '1', ), ), )

preferences:
140.99 ms | 404 KiB | 161 Q