3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = ["a", "\b", "c"]; foreach($a as $key => &$value) { echo "-------------------------------------------------------------\n"; echo "Original Array:\n"; echo "Input key: $key value: $value\n"; var_dump($a); if($value == "\b") { array_splice($a, $key, 1, ["b-bool", "b-int", "\d"]); echo "Modified Array:\n"; var_dump($a); } if($value == "\d") { array_splice($a, $key, 1, ["d-bool", "d-int"]); echo "Modified Array:\n"; var_dump($a); } // Otherwise the Final Array will have the last element in reference unset($value); } echo "-------------------------------------------------------------\n"; echo "Final Array:\n"; var_dump($a);
Output for git.master, git.master_jit, rfc.property-hooks
------------------------------------------------------------- Original Array: Input key: 0 value: a array(3) { [0]=> &string(1) "a" [1]=> string(2) "\b" [2]=> string(1) "c" } ------------------------------------------------------------- Original Array: Input key: 1 value: \b array(3) { [0]=> string(1) "a" [1]=> &string(2) "\b" [2]=> string(1) "c" } Modified Array: array(5) { [0]=> string(1) "a" [1]=> string(6) "b-bool" [2]=> string(5) "b-int" [3]=> string(2) "\d" [4]=> string(1) "c" } ------------------------------------------------------------- Original Array: Input key: 4 value: c array(5) { [0]=> string(1) "a" [1]=> string(6) "b-bool" [2]=> string(5) "b-int" [3]=> string(2) "\d" [4]=> &string(1) "c" } ------------------------------------------------------------- Final Array: array(5) { [0]=> string(1) "a" [1]=> string(6) "b-bool" [2]=> string(5) "b-int" [3]=> string(2) "\d" [4]=> string(1) "c" }

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.13 ms | 403 KiB | 8 Q