Пример #1
0
<?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')));
Пример #2
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)
{
Пример #3
0
<?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);
Пример #4
0
<?php

$a = 'test';
if ($a) {
    function bar()
    {
    }
} else {
    function bar()
    {
    }
}
function foo()
{
}
function goo(&$p)
{
}
$goo = 'goo';
goo(foo());
$goo(foo());
bar(foo());