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, ), ), ) ); echo '<pre>'; var_dump( $sample ); echo '</pre>'; echo '<pre>'; var_dump( Arr::flatten( $sample ) ); echo '</pre>';
Output for git.master_jit, git.master, rfc.property-hooks
<pre>array(1) { ["pictures"]=> array(5) { ["name"]=> array(3) { [1]=> array(2) { [1]=> string(17) "Chrysanthemum.jpg" [2]=> string(10) "Desert.jpg" } [2]=> array(1) { [1]=> string(0) "" } [3]=> array(2) { [1]=> string(0) "" [2]=> string(14) "Hydrangeas.jpg" } } ["type"]=> array(3) { [1]=> array(2) { [1]=> string(10) "image/jpeg" [2]=> string(10) "image/jpeg" } [2]=> array(1) { [1]=> string(0) "" } [3]=> array(2) { [1]=> string(0) "" [2]=> string(10) "image/jpeg" } } ["tmp_name"]=> array(3) { [1]=> array(2) { [1]=> string(14) "/tmp/phpOhzhBd" [2]=> string(14) "/tmp/phpzFrNjP" } [2]=> array(1) { [1]=> string(0) "" } [3]=> array(2) { [1]=> string(0) "" [2]=> string(14) "/tmp/phpR6hO2q" } } ["error"]=> array(3) { [1]=> array(2) { [1]=> int(0) [2]=> int(0) } [2]=> array(1) { [1]=> int(4) } [3]=> array(2) { [1]=> int(4) [2]=> int(0) } } ["size"]=> array(3) { [1]=> array(2) { [1]=> int(879394) [2]=> int(845941) } [2]=> array(1) { [1]=> int(0) } [3]=> array(2) { [1]=> int(0) [2]=> int(595284) } } } } </pre><pre>array(2) { [1]=> string(17) "Chrysanthemum.jpg" [2]=> string(10) "Desert.jpg" } </pre>

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:
43.55 ms | 405 KiB | 8 Q