3v4l.org

run code in 300+ PHP versions simultaneously
<?php $myarray = array( 0 => array( "Order" => array("PO" => "TR11214", "OrderID" => 242856952012), "Sales Tax" => array("PO" => "TR11214", "SalesTaxAmount" => 0.00), "Payment" => array("PaymentPO" => "TR11215", "PaymentAmount" => 45.00), "Transaction" => array("TransPO" => "TR11211", "TransactionPrice" => 91.17) ), 1 => array( "Order" => array("PO" => "TR11214", "OrderID" => 242856952012), "Sales Tax" => array("PO" => "TR11214", "SalesTaxAmount" => 0.00), "Payment" => array("PaymentPO" => "TR11216", "PaymentAmount" => 70.00), "Transaction" => array("TransPO" => "TR11212", "TransactionPrice" => 180.41) ), 2 => array( "Order" => array("PO" => "TR11214", "OrderID" => 242856952012), "Sales Tax" => array("PO" => "TR11214", "SalesTaxAmount" => 0.00), "Payment" => array("PaymentPO" => "TR11216", "PaymentAmount" => 70.00), "Transaction" => array("TransPO" => "TR11213", "TransactionPrice" => 209.99) ) ); echo "there are " . count(array_unique(array_column($myarray, 'Order'), SORT_REGULAR)) . "unique Orders\n"; $non_unique_keys = ['Transaction', 'Payment']; $output = array(); foreach (array_keys($myarray[0]) as $key) { if (in_array($key, $non_unique_keys)) { $output[$key] = array_unique(array_column($myarray, $key), SORT_REGULAR); } else { $output[$key] = $myarray[0][$key]; } } print_r($output);
Output for 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
there are 1unique Orders Array ( [Order] => Array ( [PO] => TR11214 [OrderID] => 242856952012 ) [Sales Tax] => Array ( [PO] => TR11214 [SalesTaxAmount] => 0 ) [Payment] => Array ( [0] => Array ( [PaymentPO] => TR11215 [PaymentAmount] => 45 ) [1] => Array ( [PaymentPO] => TR11216 [PaymentAmount] => 70 ) ) [Transaction] => Array ( [0] => Array ( [TransPO] => TR11211 [TransactionPrice] => 91.17 ) [1] => Array ( [TransPO] => TR11212 [TransactionPrice] => 180.41 ) [2] => Array ( [TransPO] => TR11213 [TransactionPrice] => 209.99 ) ) )

preferences:
92.01 ms | 1637 KiB | 4 Q