3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr = [ [ 'TYPE' => 'Answer', 'PARTY_ID' => 115, 'PARENT_USER_CONTENT_ID' => 114 ], [ 'TYPE' => 'Question', 'PARTY_ID' => 112, 'PARENT_USER_CONTENT_ID' => '' ], [ 'TYPE' => 'Question', 'PARTY_ID' => 113, 'PARENT_USER_CONTENT_ID' => '' ], [ 'TYPE' => 'Answer', 'PARTY_ID' => 116, 'PARENT_USER_CONTENT_ID' => 113 ], [ 'TYPE' => 'Question', 'PARTY_ID' => 114, 'PARENT_USER_CONTENT_ID' => '' ], [ 'TYPE' => 'Answer', 'PARTY_ID' => 117, 'PARENT_USER_CONTENT_ID' => 112 ] ]; $indexed = array_combine(array_column($arr, 'PARTY_ID'), $arr); $answers = array_flip(array_filter(array_column($arr, 'PARENT_USER_CONTENT_ID', 'PARTY_ID'))); foreach ($answers as $parentPartyId => $childPartyId) { $result[] = array_merge($indexed[$parentPartyId], [ 'ANSWER' => $indexed[$childPartyId]]); } print_r($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.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.4, 8.3.6 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.7
Array ( [0] => Array ( [TYPE] => Question [PARTY_ID] => 114 [PARENT_USER_CONTENT_ID] => [ANSWER] => Array ( [TYPE] => Answer [PARTY_ID] => 115 [PARENT_USER_CONTENT_ID] => 114 ) ) [1] => Array ( [TYPE] => Question [PARTY_ID] => 113 [PARENT_USER_CONTENT_ID] => [ANSWER] => Array ( [TYPE] => Answer [PARTY_ID] => 116 [PARENT_USER_CONTENT_ID] => 113 ) ) [2] => Array ( [TYPE] => Question [PARTY_ID] => 112 [PARENT_USER_CONTENT_ID] => [ANSWER] => Array ( [TYPE] => Answer [PARTY_ID] => 117 [PARENT_USER_CONTENT_ID] => 112 ) ) )
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 ( [0] => Array ( [TYPE] => Question [PARTY_ID] => 114 [PARENT_USER_CONTENT_ID] => [ANSWER] => Array ( [TYPE] => Answer [PARTY_ID] => 115 [PARENT_USER_CONTENT_ID] => 114 ) ) [1] => Array ( [TYPE] => Question [PARTY_ID] => 113 [PARENT_USER_CONTENT_ID] => [ANSWER] => Array ( [TYPE] => Answer [PARTY_ID] => 116 [PARENT_USER_CONTENT_ID] => 113 ) ) [2] => Array ( [TYPE] => Question [PARTY_ID] => 112 [PARENT_USER_CONTENT_ID] => [ANSWER] => Array ( [TYPE] => Answer [PARTY_ID] => 117 [PARENT_USER_CONTENT_ID] => 112 ) ) )

preferences:
106 ms | 1660 KiB | 4 Q