3v4l.org

run code in 300+ PHP versions simultaneously
<?php $stops = Array ( 0 => Array ( 'agency_stop_id' => 1, 'routes' => Array ( '_ids' => Array (0 => 'Route 1', 1 => 'Route 2' ))), 1 => Array ( 'agency_stop_id' => 5, 'routes' => Array ( '_ids' => Array (0 => 'Route 1', 1 => 'Route 2' ))), 2 => Array ( 'agency_stop_id' => 5, 'routes' => Array ( '_ids' => Array (0 => 'Route 3', 1 => 'Route 4' ))), ); $out = []; $stops = array_unique($stops, SORT_REGULAR); $stopids = array_unique(array_column($stops, 'agency_stop_id')); foreach ($stopids as $stopid) { $keys = array_keys(array_column($stops, 'agency_stop_id'), $stopid); //Create an array of the matching stops foreach ($keys as $key) { $stop = array_map( function ($k) use ($stops) { return $stops[$k]; }, $key ); } //print_r($stop); //if there is only one if (count($stop) == 1) { //save array to $out $out[] = $stop[0]; //if there is more then one } elseif (count($keys) > 1) { $stop = array_merge_recursive($stop[0], [ 'routes' => $stop[1]['routes']]); $out[] = $stop; } } print_r($out); #print_r($new_array[0]); #print_r(Array( 'routes' => $new_array[1]['routes']));
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
Fatal error: Uncaught TypeError: array_map(): Argument #2 ($array) must be of type array, int given in /in/iMRhr:17 Stack trace: #0 /in/iMRhr(17): array_map(Object(Closure), 0) #1 {main} thrown in /in/iMRhr on line 17
Process exited with code 255.
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.
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.33
Fatal error: Uncaught TypeError: array_map(): Argument #2 ($array) must be of type array, int given in /in/iMRhr:21 Stack trace: #0 /in/iMRhr(21): array_map(Object(Closure), 0) #1 {main} thrown in /in/iMRhr on line 21
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Warning: array_map(): Expected parameter 2 to be an array, int given in /in/iMRhr on line 21 Warning: count(): Parameter must be an array or an object that implements Countable in /in/iMRhr on line 26 Warning: array_map(): Expected parameter 2 to be an array, int given in /in/iMRhr on line 21 Warning: array_map(): Expected parameter 2 to be an array, int given in /in/iMRhr on line 21 Warning: count(): Parameter must be an array or an object that implements Countable in /in/iMRhr on line 26 Notice: Trying to access array offset on value of type null in /in/iMRhr on line 31 Notice: Trying to access array offset on value of type null in /in/iMRhr on line 31 Notice: Trying to access array offset on value of type null in /in/iMRhr on line 31 Warning: array_merge_recursive(): Expected parameter 1 to be an array, null given in /in/iMRhr on line 31 Array ( [0] => )
Output for 7.3.0 - 7.3.33
Warning: array_map(): Expected parameter 2 to be an array, int given in /in/iMRhr on line 21 Warning: count(): Parameter must be an array or an object that implements Countable in /in/iMRhr on line 26 Warning: array_map(): Expected parameter 2 to be an array, int given in /in/iMRhr on line 21 Warning: array_map(): Expected parameter 2 to be an array, int given in /in/iMRhr on line 21 Warning: count(): Parameter must be an array or an object that implements Countable in /in/iMRhr on line 26 Warning: array_merge_recursive(): Expected parameter 1 to be an array, null given in /in/iMRhr on line 31 Array ( [0] => )
Output for 7.2.0 - 7.2.33
Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 21 Warning: count(): Parameter must be an array or an object that implements Countable in /in/iMRhr on line 26 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 21 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 21 Warning: count(): Parameter must be an array or an object that implements Countable in /in/iMRhr on line 26 Warning: array_merge_recursive(): Argument #1 is not an array in /in/iMRhr on line 31 Array ( [0] => )
Output for 7.0.19 - 7.0.33, 7.1.5 - 7.1.33
Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 21 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 21 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 21 Warning: array_merge_recursive(): Argument #1 is not an array in /in/iMRhr on line 31 Array ( [0] => )
Output for 7.0.0 - 7.0.18, 7.1.0 - 7.1.4
Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 20 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 20 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 20 Warning: array_merge_recursive(): Argument #1 is not an array in /in/iMRhr on line 31 Array ( [0] => )
Output for 5.6.0 - 5.6.40
Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 22 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 22 Warning: array_map(): Argument #2 should be an array in /in/iMRhr on line 22 Warning: array_merge_recursive(): Argument #1 is not an array in /in/iMRhr on line 31 Array ( [0] => )

preferences:
203.14 ms | 420 KiB | 5 Q