3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array( array( 'name' => 'name', 'label' => 'Label' ), array( 'name' => 'name', 'label' => 'Label', 'sub_fields' => array( array( 'name' => 'my_desired_target', 'label' => 'Label' ) ) ) ); function change_recursively($arr, $previous){ foreach($arr as $key => &$val){ if(is_array($val)){ If($previous == NULL){ change_recursively($val, $key); }Else{ change_recursively($val, $previous . "," .$key); } }else{ if($key == 'name' && $val == 'my_desired_target'){ $path =explode(",", $previous); Var_dump($path); //How to add new key here? $arr['new_key'] = 'my new value'; } } } } change_recursively($arr, NULL); Var_dump($arr);
Output for git.master, git.master_jit, rfc.property-hooks
array(3) { [0]=> string(1) "1" [1]=> string(10) "sub_fields" [2]=> string(1) "0" } array(2) { [0]=> array(2) { ["name"]=> string(4) "name" ["label"]=> string(5) "Label" } [1]=> array(3) { ["name"]=> string(4) "name" ["label"]=> string(5) "Label" ["sub_fields"]=> array(1) { [0]=> array(2) { ["name"]=> string(17) "my_desired_target" ["label"]=> string(5) "Label" } } } }

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.73 ms | 1581 KiB | 4 Q