3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array( array( 'foo' => 1, 'bar' => 2, 'thing' => 'apple' ), array( 'foo' => 1, 'bar' => 2, 'thing' => 'orange' ), array( 'foo' => 2, 'bar' => 2, 'thing' => 'apple' ), ); $newArr = $keys = array(); function filterArr($row) { global $newArr, $keys; if (isset($keys[$row['foo']][$row['bar']])) { $newArr[$keys[$row['foo']][$row['bar']]]['thing'][] = $row['thing']; } else { $keys[$row['foo']][$row['bar']] = array_push($newArr, $row) - 1; $newArr[$keys[$row['foo']][$row['bar']]]['thing'] = array($row['thing']); } } array_map('filterArr', $arr); print_r($newArr);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
Array ( [0] => Array ( [foo] => 1 [bar] => 2 [thing] => Array ( [0] => apple [1] => orange ) ) [1] => Array ( [foo] => 2 [bar] => 2 [thing] => Array ( [0] => apple ) ) )
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:
141.83 ms | 407 KiB | 5 Q