3v4l.org

run code in 300+ PHP versions simultaneously
<?php $startingArray = [ [ "subject" => "Physics", "student" => [ ["id" => "00003", "Name" => "Peter", "email" => "peter@schooool.com",], ["id" => "00004", "Name" => "Mary", "email" => "mary@schooool.com",], ["id" => "00005", "Name" => "Jane", "email" => "jane@schooool.com",], ] ], [ "subject" => "Chemistry", "student" => [ ["id" => "00003", "Name" => "Peter", "email" => "peter@schooool.com",], ["id" => "00004", "Name" => "Mary", "email" => "mary@schooool.com",], ["id" => "00005", "Name" => "Jane", "email" => "jane@schooool.com",], ] ], [ "subject" => "Mathematics", "student" => [ ["id" => "00003", "Name" => "Peter", "email" => "peter@schooool.com",], ["id" => "00006", "Name" => "Fred", "email" => "fred@schooool.com",], ["id" => "00007", "Name" => "Wilma", "email" => "wilma@schooool.com",], ] ], [ "subject" => "Biology", "student" => [ ["id" => "00004", "Name" => "Mary", "email" => "mary@schooool.com",], ["id" => "00006", "Name" => "Fred", "email" => "fred@schooool.com",], ["id" => "00008", "Name" => "Alison", "email" => "alison@schooool.com",], ] ] ]; $newArray = []; foreach ($startingArray as $item) { foreach ($item['student'] as $student) { if (empty($newArray[$student['id']])) { $student['subjects'] = []; $newArray[$student['id']] = $student; } $newArray[$student['id']]['subjects'][] = $item['subject']; } } print_r($newArray);
Output for 7.1.0 - 7.1.33, 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.29, 8.4.1 - 8.4.14, 8.4.16, 8.5.0 - 8.5.1
Array ( [00003] => Array ( [id] => 00003 [Name] => Peter [email] => peter@schooool.com [subjects] => Array ( [0] => Physics [1] => Chemistry [2] => Mathematics ) ) [00004] => Array ( [id] => 00004 [Name] => Mary [email] => mary@schooool.com [subjects] => Array ( [0] => Physics [1] => Chemistry [2] => Biology ) ) [00005] => Array ( [id] => 00005 [Name] => Jane [email] => jane@schooool.com [subjects] => Array ( [0] => Physics [1] => Chemistry ) ) [00006] => Array ( [id] => 00006 [Name] => Fred [email] => fred@schooool.com [subjects] => Array ( [0] => Mathematics [1] => Biology ) ) [00007] => Array ( [id] => 00007 [Name] => Wilma [email] => wilma@schooool.com [subjects] => Array ( [0] => Mathematics ) ) [00008] => Array ( [id] => 00008 [Name] => Alison [email] => alison@schooool.com [subjects] => Array ( [0] => Biology ) ) )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
189.23 ms | 409 KiB | 5 Q