函数
php定义函数时,以function开头,后面是函数名和参数列表,下面是一个例子。
<?php
function foo($arg1, $arg2)
{
return $arg1 + $arg2;
}
echo foo(1, 2);
?>
值传递和引用传递
之前讲过&赋值运算符,可以将一个变量的引用赋值给另一个变量,这和C++的引用特性很像。但是,函数定义参数时,实际上默认只会传递类实例的指针(也是值传递),而C++还要在定义函数参数时加上引用符号。php的这种特性很让人迷糊,实际上php5以后,真正保存对象的结构是zend_object,它只保存类的指针,这样对象作为函数参数看上去像是“引用传递”。这种情况只有类才有,包括数组在内,其他类型都不会发生这种情况。
<?php
class A
{
public $name;
}
function foo($arg)
{
$arg->name = "B";
}
$a = new A();
$a->name = "A";
foo($a);
echo $a->name;
?>
上面代码输出如下。
B
数组使用引用传递示例代码(对于其他类型也是一样的)
<?php
$arr = array("aaa");
function foo(&$arg)
{
array_push($arg, "bbb");
}
foo($arr);
echo count($arr);
?>
上面代码输出如下。
2
调用其他文件的函数或类
通常为了代码可读性,函数、类会分模块,划分到不同文件。文件之间互相引用可以使用include或require。其原理实际就是将两个文件的代码合并执行。
<?php
function foo()
{
echo "aaa";
}
?>
<?php
include 'test.php';
foo();
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。