<?php function foo($v) { $a = array('key' => &$v); return $a; } function goo($v) { return $v . 1; } var_dump(foo('1.0')); var_dump(foo(foo('1.0'))); var_dump(foo(goo('1.0')));
echo "calling notHoisted function" . PHP_EOL; } } notHoisted(); // this work with $result equals 10 // let's play with the function scope function goo() { echo "calling goo()" . PHP_EOL; function too() { echo "calling too()" . PHP_EOL; } } //too(); // won't work goo(); too(); // it works now because it has been defined // recursion function recursion($value) { echo "recursion({$value})" . PHP_EOL; if ($value === 0) { return 0; } return recursion(--$value); } $result = recursion(10); echo $result . PHP_EOL; function optArgs($first, $second) {
<?php $x = array('1', 2, '3'); foreach ($x as $k => $v) { echo $k; echo ' '; echo $v; echo "\n"; } // Test case pretty much stolen from www function array_glue($pre, $array, $post) { foreach ($array as &$v) { $v = $pre . $v . $post; } return $array; } function goo($arr) { return array_glue('fub', $arr, ''); } $array = array(1, 2, 3); $array[] = 400; // make it non-static $new = goo($array); var_dump($array); var_dump($new);
<?php $a = 'test'; if ($a) { function bar() { } } else { function bar() { } } function foo() { } function goo(&$p) { } $goo = 'goo'; goo(foo()); $goo(foo()); bar(foo());