PHP 函数返回值
本文最后更新于:2024年3月18日 凌晨
PHP 函数返回值
- PHP函数可以使用return关键字返回一个单值。
1 2 3
| function return_one(){ return 42; }
|
1 2 3
| function return_two(){ return array("Fred",35); }
|
- 默认从函数中复制出值,在函数声明时如果函数名前有&符号的话,则返回对其返回值的引用(别名)
1 2 3 4 5 6 7
| $names = array("Fred","Barney","Wilma","Betty"); function & find_one($n){ global $names; return $names[$n]; } $person = & find_one(1); $person = "Barnetta";
|
- 这段代码中,
find_one()
函数返回$names[1]
的别名,而不是$names[1]
值得拷贝,因为我们是通过引用赋值,所以$person
是name[1]
的别名。并且第二个赋值操作改变了$names[1]
中的值。
- 这个技术有时被用于高效地从函数返回大型字符串或数组的值,然而,PHP的写时复制/浅复制(copy-on-write/shallow-copy)机制通常意味着从函数返回一个引用并不是必要的,除非你知道你可能将会改变数据,否则不必为一些大型的数据返回引用,返回引用的缺点是它比返回值慢,并且需要依赖shallow-copy的机制来确保在数据改变之前不会生成数据的副本。