3v4l.org

run code in 300+ PHP versions simultaneously
<?php class testCase { private $stores; /* $out not having default value so type not inferred */ /* names very vague */ public function doFunction($items = array(), $out ) { foreach($items as $num => $val) { /* lots of overriding of output here, seems like += or concat */ if($num%2 == 0) { $out = $val; } else { $out = strtoupper($val); } /* WHY DO ALL OF THE ABOVE IF WE'RE GOING TO OVERRIDE IT WITH THIS ANYWAY? */ //$out = "<br />"; } return $this->store = $out; } /* PRIVATE, SO NOT ACCESSIBLE! FIX: make public */ /* name is vague */ private function unFunction($items = '', $out = array()) { $items = implode("<br >", $items, -1); foreach($items as $num => $val) { if($num%2 != 0) { $out[$num] = $val; } else { $out[$num] = strtlower($val); } } echo $out; } } class testCase1 { private $stores; public function doFunction($items = array(), $out = '') { foreach($items as $num => $val) { if($num % 2 == 0) { $out .= $val; } else { $out .= strtoupper($val); } $out .= "<br />"; } return $this->store = $out; } public function unFunction($items = '', $out = array()) { $items = implode("<br >", $items, -1); foreach($items as $num => $val) { if($num%2 != 0) { $out[$num] = $val; } else { $out[$num] = strtlower($val); } } echo $out; } } $test = new testCase1(); echo $test -> doFunction(array_merge(range(0,25), range('a','z'))) . "<hr />"; print_r($test -> unFunction($test->store)); //echo $test->doFunction(array_merge(range(0,25)), "test"); /* seems like the two functions are about: doing something and undoing that. */ ?>
Output for git.master, git.master_jit, rfc.property-hooks
Deprecated: Optional parameter $items declared before required parameter $out is implicitly treated as a required parameter in /in/JWVYu on line 9 Deprecated: Creation of dynamic property testCase1::$store is deprecated in /in/JWVYu on line 52 0<br />1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />a<br />B<br />c<br />D<br />e<br />F<br />g<br />H<br />i<br />J<br />k<br />L<br />m<br />N<br />o<br />P<br />q<br />R<br />s<br />T<br />u<br />V<br />w<br />X<br />y<br />Z<br /><hr /> Fatal error: Uncaught ArgumentCountError: implode() expects at most 2 arguments, 3 given in /in/JWVYu:56 Stack trace: #0 /in/JWVYu(56): implode('<br >', '0<br />1<br />2...', -1) #1 /in/JWVYu(71): testCase1->unFunction('0<br />1<br />2...') #2 {main} thrown in /in/JWVYu on line 56
Process exited with code 255.

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:
49.46 ms | 402 KiB | 8 Q