博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<基础> PHP 进阶之 函数(Function)
阅读量:5737 次
发布时间:2019-06-18

本文共 1634 字,大约阅读时间需要 5 分钟。

  • 引用参数
$name = "eko";function chang_name(&$name){    $name .= '_after_change';}    chang_name($name);    //会改变原有参数$nameecho $name;
  • 参数类型声明
function test(array $arr){    for ($i=0; $i 
'; }}test('hello'); 报错interface Animal { function eat(); function sleep();}class Cat implements Animal{ public function eat(){ echo "cat eat fish"; } public function sleep(){ echo "cat is sleeping"; }}function fn(Animal $animal){ echo $animal -> eat();}fn(new Cat());
  • 可变参数
function fn(){    $arg_nums = func_num_args();  //获得参数个数    echo "此时传入 $arg_nums 个参数";    echo "
"; $arr_args = func_get_args(); //获得所有参数,返回数组 echo gettype($arr_args) ."
"; //输出array foreach ($arr_args as $arg) { echo $arg."
"; } $arg = func_get_arg(0); //获得第0个参数 echo $arr_arg;}fn('hello',123);
//在PHP5.6以上版本中,可以用拓展运算符代替可变参数function fn(...$args){    echo "input ".count($args)." arguments";    echo '
'; for ($i=0; $i
'; }}fn('hello','word',123);fn(...['hello','word',123]); //结果同上//如果有多个参数,可变参数必须放在最后function fn($name,...$args){ echo $name .'
'; for ($i=0; $i
'; }}fn('kitty','yellow','miao');
  • 返回类型
//php7 中支持函数返回值类型声明function sum(...$args):int{    $sum = 0 ;    foreach ($args as $value) {        $sum += $value;    }    return $sum;    //return 'hello'; //报错,Return value of sum() must be of the type integer}echo sum(1,2,3,4,5);
  • 匿名函数 (闭包函数 Closure)
echo preg_replace_callback('~-([a-z])~', function ($match) {    return strtoupper($match[1]);}, 'hello-world');//输出 helloWorld

 

转载于:https://www.cnblogs.com/xiaoliwang/p/8990098.html

你可能感兴趣的文章
“Unexpected end of JSON input while parsing near···”错误解决方案
查看>>
一篇文章搞懂Android组件化!
查看>>
经典排序算法及其 Java 实现
查看>>
go语言有哪些好的debug方法?
查看>>
Swift 从View跳转页面+实用技巧
查看>>
Visual Paradigm 教程[UML]:如何在SoaML中建模多方服务?(下)
查看>>
class
查看>>
微服务b2b b2c o2o电子商务云平台
查看>>
python django通过正则搜索页面上的email地址的代码
查看>>
2018年最新Java面试题及答案
查看>>
【入门】浅谈JS表单验证之邮箱验证
查看>>
Android多线程之HandlerThread
查看>>
React+Typescript 实现一个简单的豆瓣电影应用
查看>>
这些不经意的小动作恐会伤手机?想让手机长命就别做这五举动!
查看>>
kmp算法next函数
查看>>
Promise用法 & Promise原理实现
查看>>
Visual Studio Code使用typings拓展自动补全功能
查看>>
IBM人工智能进入法律行业:推世界首位AI律师ROSS
查看>>
深入理解 Java 方法
查看>>
本周小记
查看>>