3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ (object) ['id'=> 1, 'value' => 0], (object) ['id'=> 2, 'value' => 10], (object) ['id'=> 3, 'value' => 14], (object) ['id'=> 4, 'value' => 0], (object) ['id'=> 5, 'value' => 21], (object) ['id'=> 6, 'value' => 44], ]; $result = []; foreach ($array as $obj) { if (!$obj->value) { unset($ref); $obj->values = []; $ref = &$obj->values; $result[] = $obj; continue; } $ref[] = $obj; } var_export($result);
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => (object) array( 'id' => 1, 'value' => 0, 'values' => array ( 0 => (object) array( 'id' => 2, 'value' => 10, ), 1 => (object) array( 'id' => 3, 'value' => 14, ), ), ), 1 => (object) array( 'id' => 4, 'value' => 0, 'values' => array ( 0 => (object) array( 'id' => 5, 'value' => 21, ), 1 => (object) array( 'id' => 6, 'value' => 44, ), ), ), )

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:
27.19 ms | 407 KiB | 5 Q