Exemple #1
0
function test3()
{
    if (true) {
        function func3()
        {
            return 'called func3';
        }
    } else {
        function func3()
        {
            return 'did not call func3';
        }
    }
    $result1 = func3();
    echo "Test that function may be conditionally defined.<br>\n";
    echo 'result: ' . ($result1 == 'called func3' ? 'pass' : 'fail') . "<br><br>\n\n";
}
Exemple #2
0
echo 'After function: a = ' . $a . "<br />";
echo 'Before function: a = ' . $a . "<br />";
echo multiply3($a, 3) . "<br />";
echo 'After function: a = ' . $a . "<br />";
# 变量函数
$a = 'func1';
function func1()
{
    echo "This is function 1<br />";
}
function func2()
{
    echo "This is function 2<br />";
}
$a();
$a = 'func2';
$a();
# 对函数的引用,即为对函数返回值的引用
function &func3($param)
{
    return $param;
}
$test =& func3('Reference');
echo $test;
# unset清楚变量名字和变量内存空间的联系,并不是销毁变量内存
$a = 1;
$b =& $a;
echo "\$b = {$b}<br />";
unset($b);
echo @"\$b = {$b}<br />";
echo "\$a = {$a}<br />";
Exemple #3
0
<?php

/**
 * Created by PhpStorm.
 * User: liuhengsheng
 * Date: 15/9/21
 * Time: 下午7:20
 */
require '../UserfulPhpReposity/HttpUtil.php';
function fun1()
{
    $objHttpUtil = new HttpUtil();
    $result = $objHttpUtil->getHostFromHttpUrl('http://127.0.0.1/index.php');
    echo $result;
}
function fun2()
{
    $regex = "/a([b]+).d/";
    $str = 'abcdxxabbbbddxxxabbbbrd';
    preg_match_all($regex, $str, $match, PREG_PATTERN_ORDER);
    print_r($match);
}
function fun3()
{
    $str = '&ldsdjskds&';
    $str = substr($str, 1, strlen($str) - 1);
    echo $str;
}
func3();
Exemple #4
0
function func3(FooClass &...$args)
{
    foreach ($args as &$arg) {
        $arg->x = "hi";
    }
}
$foo1 = new FooClass();
$foo2 = new FooClass();
$foo3 = new FooClass();
$bar = new BarClass();
func1($foo1, $bar, $foo2);
/* Error, Type!!
// func2( $foo1, $bar, $foo2 );
Catchable fatal error: Argument 2 passed to func2() must be an instance of FooClass, instance of BarClass given, called in /usr/share/nginx/www/sample/05new_expression.php on line 28 and defined in /usr/share/nginx/www/sample/05new_expression.php on line 10
*/
func3($foo1, $foo2, $foo3);
// = func3( ...[$foo1, $foo2, $foo3] );
var_dump($foo1);
var_dump($foo2);
var_dump($foo3);
/*
object(FooClass)#1 (1) {
  ["x"]=>
  string(2) "hi"
}
object(FooClass)#2 (1) {
  ["x"]=>
  string(2) "hi"
}
object(FooClass)#3 (1) {
  ["x"]=>