3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Arr { public static function flatten( $array ) { $flat = array(); foreach ( $array as $key => $value ) { if ( is_array( $value ) ) { $flat += Arr::flatten( $value ); } else { $flat[ $key ] = $value; } } return $flat; } } $sample = array( 'pictures' => array( 'name' => array( 1 => array( 1 => 'Chrysanthemum.jpg', 2 => 'Desert.jpg', ), 2 => array( 1 => '', ), 3 => array( 1 => '', 2 => 'Hydrangeas.jpg', ), ), 'type' => array( 1 => array( 1 => 'image/jpeg', 2 => 'image/jpeg', ), 2 => array( 1 => '', ), 3 => array( 1 => '', 2 => 'image/jpeg', ), ), 'tmp_name' => array( 1 => array( 1 => '/tmp/phpOhzhBd', 2 => '/tmp/phpzFrNjP', ), 2 => array( 1 => '', ), 3 => array( 1 => '', 2 => '/tmp/phpR6hO2q', ), ), 'error' => array( 1 => array( 1 => 0, 2 => 0, ), 2 => array( 1 => 4, ), 3 => array( 1 => 4, 2 => 0, ), ), 'size' => array( 1 => array( 1 => 879394, 2 => 845941, ), 2 => array( 1 => 0, ), 3 => array( 1 => 0, 2 => 595284, ), ), ) ); print_r( $sample ); print_r( Arr::flatten( $sample ) );
Output for git.master_jit, git.master, rfc.property-hooks
Array ( [pictures] => Array ( [name] => Array ( [1] => Array ( [1] => Chrysanthemum.jpg [2] => Desert.jpg ) [2] => Array ( [1] => ) [3] => Array ( [1] => [2] => Hydrangeas.jpg ) ) [type] => Array ( [1] => Array ( [1] => image/jpeg [2] => image/jpeg ) [2] => Array ( [1] => ) [3] => Array ( [1] => [2] => image/jpeg ) ) [tmp_name] => Array ( [1] => Array ( [1] => /tmp/phpOhzhBd [2] => /tmp/phpzFrNjP ) [2] => Array ( [1] => ) [3] => Array ( [1] => [2] => /tmp/phpR6hO2q ) ) [error] => Array ( [1] => Array ( [1] => 0 [2] => 0 ) [2] => Array ( [1] => 4 ) [3] => Array ( [1] => 4 [2] => 0 ) ) [size] => Array ( [1] => Array ( [1] => 879394 [2] => 845941 ) [2] => Array ( [1] => 0 ) [3] => Array ( [1] => 0 [2] => 595284 ) ) ) ) Array ( [1] => Chrysanthemum.jpg [2] => Desert.jpg )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
46.67 ms | 409 KiB | 8 Q