コード例 #1
0
ファイル: functions.php プロジェクト: pixlr/zce-3
// 42
function d($f, $s = 'second')
{
    var_dump(func_get_args());
    // only 2, no default
}
d(2);
function byRef(&$v)
{
    var_dump(func_get_arg(0));
    $v = 42;
    var_dump(func_get_arg(0));
    // new value
}
$b = 10;
byRef($b);
function eblanstvo($x, $x = 1, $x = 2)
{
    var_dump(func_get_args());
    var_dump(func_get_arg(0));
    var_dump(func_get_arg(1));
    //var_dump(func_get_arg(2)); // warning, no argument
    return $x;
}
echo eblanstvo(3, 4);
// 2 O_o
class F
{
    static $variable = 'fe';
    static function test()
    {
コード例 #2
0
ファイル: func_get_args_byref.php プロジェクト: pixlr/zce-1
//func_get_args() example of byref and byval arguments
function byVal($arg)
{
    echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
}
function byRef(&$arg)
{
    echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
}
$arg = 'bar';
byVal($arg);
byRef($arg);
//The above example will output:
/*
As passed : array (
0 => 'bar',
)
After change : array (
0 => 'bar',
)
As passed : array (
0 => 'bar',
)
After change : array (
0 => 'baz',
)
*/
コード例 #3
0
ファイル: GByRef.php プロジェクト: badlamer/hhvm
<?php

$GLOBALS['foo'] = array();
$GLOBALS['foo']['bar'] = 0xba53ba11;
$GLOBALS['bar'] = 0xdeadbeef;
function byRef(&$a)
{
    $a >>= 16;
}
var_dump($GLOBALS['foo']);
var_dump($GLOBALS['bar']);
byRef($GLOBALS['foo']['bar']);
byRef($GLOBALS['bar']);
var_dump($GLOBALS['foo']);
var_dump($GLOBALS['bar']);
コード例 #4
0
            return $index;
        } else {
            $index--;
        }
    }
}
print_r(stringAddTwo("12349"));
/*
 * #################################################################################################################
 * ########################################## By Reference vs By Value #############################################
 * #################################################################################################################
 */
echo "<h1>By Reference VS By Value</h1>";
//this will actually edit the passed variable in memory
function byRef(&$val)
{
    $val++;
    return 1;
}
//this will make a copy of the passed variable and edit it
function byVal($val)
{
    $val++;
    return 1;
}
$num = 3;
echo $num . "<br />";
byVal($num);
echo "After By Value: {$num}<br />";
byRef($num);
echo "After By Reference: {$num}<br />";
コード例 #5
0
ファイル: tx.php プロジェクト: JulioOrdonezV/pvcloud
<?php

function byVal($arg)
{
    echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
    $arg = 'baz';
    echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
}
function byRef(&$arg)
{
    echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
    $array = var_export(func_get_args());
    $array[0] = "xyzx";
    $array[1] = "yyyy";
    echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
}
$arg1 = 'bar';
$arg2 = 'xyz';
byVal($arg1, $arg2);
byRef($arg1, $arg2);
echo "<br>OK:<br>{$arg1}";
print_r($arg1, $arg2);