首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
PHP的标记风格
编码规范
常量的使用
内置常量
PHP中的变量声明
可变变量与变量的引用
变量作用域
变量的销毁
数据类型
标量类型的声明
算术运算符
字符串运算符
其它运算符
表达式
内置函数
自定义函数
函数传递参数值
函数返回值
文件包含
流程控制
循环控制结构
PHP 8的新变化1—match表达式
PHP 8的新变化2—联合类型和mixed类型
PHP 8的新变化3—参数列表中可以使用尾部逗号
实战演练1—条件分支结构综合应用
实战演练2—循环控制结构综合应用
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(2)
小册名称:PHP8入门与项目实战(2)
在上述例子中,都是把函数运算完成的值直接打印出来。但是,很多情况下,程序并不需要直接把结果打印出来,而是仅仅给出结果,并且把结果传递给调用这个函数的程序,为其所用,这里需要用到return关键字。 下面以综合酒店客房价格和服务价格为例进行讲解。 【例4.5】 ```php <?php function totalneedtopay($days,$roomprice){// 声明自定义函数 return $days*$roomprice; // 返回酒店消费总价格 } $rentdays = 3; $roomprice = 168; echo totalneedtopay($rentdays,$roomprice); ?> ``` 运行结果如图4-5所示。 ![](/uploads/images/20231207/eb00d799f265c8416de039f9928bd8b9.png) 【案例分析】 (1)在函数function totalneedtopay($days,$roomprice)算法中,直接使用return把运算的值返回给调用此函数的程序。 (2)其中,echo totalneedtopay($rentdays,$roomprice);语句调用了此函数,totalneedtopay()把运算值返回给了echo语句,才有了上面的显示。当然这里也可以不用echo来处理返回值,也可以对它进行其他处理,比如赋值给变量等。 4.2.5 对函数的引用 无论是PHP中的内置函数,还是程序员在程序中自定义的函数,都可以简单地通过函数名调用。但是操作过程也有些不同,大致分为以下3种情况。 ·如果是PHP的内置函数,如date(),可以直接调用。 ·如果这个函数是PHP的某个库文件中的函数,就需要用include()或require()命令把此库文件加载,然后才能使用。 ·如果是自定义函数,与引用程序在同一个文件中,就可以直接引用。如果此函数不在当前文件内,就需要用include()或require()命令加载。 对函数的引用实际上是对函数返回值的引用。 【例4.6】 ```php <?php function &example($aa=1){ //定义一个函数,别忘了加“&”符号 return $aa; //返回参数$aa } $bb= &example("引用函数的实例"); //声明一个函数的引用$bb echo $bb. "<br/>"; ?> ``` 运行结果如图4-6所示。 ![](/uploads/images/20231207/9e41d5d59f53129514f110965751fe3e.png) 【案例分析】 (1)本实例首先定义一个函数,然后变量$bb将引用函数,最后输出变量$bb,它实际上是$aa的值。(2)和参数传递不同,在定义函数和引用函数时,都必须使用“&”符号,表明返回的是一个引用。 4.2.6 对函数取消引用 对于不需要引用的函数,可以做取消操作。取消引用使用unset()函数来完成,目的是断开变量名和变量内容之间的绑定,此时并没有销毁变量内容。 【例4.7】 ```php <?php $num = 166; //声明一个整型变量 $math = &$num; //声明一个对变量$num的引用$math echo "\$math is: ".$math."<br/>"; //输出引用$math unset($math); //取消引用$math echo "\$num is: ".$num; //输出原变量 ?> ``` 运行结果如图4-7所示。 ![](/uploads/images/20231207/5ab139d195774f866c09dd08fc2953aa.png) 本程序首先声明一个变量和变量的引用,输出引用后取消引用,再次调用原变量。从图4-7可以看出,取消引用后对原变量没有任何影响。 4.3 声明函数返回值的类型 在PHP中,用户可以声明函数返回值的类型。可以声明的返回类型包括int、float、bool、string、interfaces、array和callable。 下面通过案例来学习PHP如何声明函数返回值的类型。 【例4.8】 ```php <?php declare(strict_types=1); function returnIntValue(int $value): int { return $value; } print(returnIntValue(60)); ?> ``` 以上程序执行结果如图4-8所示。 ![](/uploads/images/20231207/cdca758652227cb113ca24931c67095c.png) 4.4 intdiv()函数 在PHP中,整除函数intdiv()的语法格式如下: ```php intdiv(a, b); ``` 该函数返回值为a除以b的值并取整。 【例4.9】 ```php <?php echo intdiv(16, 3)."<br/>"; echo intdiv(10, 3) ."<br/>"; echo intdiv(8, 16) ."<br/>"; ?> ``` 本程序运行结果如图4-9所示。 ![](/uploads/images/20231207/6211b56c70a5ccf3349933a3fc97b115.png) 4.5 括号在变量或函数中变化 在PHP中,用括号把变量或者函数括起来将不再起作用。 【例4.10】 ```php <?php function getArray() { return [100, 200, 300,400]; } $last = array_pop(getArray()); //所有版本的PHP在这里将会报错 $last = array_pop((getArray())); //PHP5或者更早的版本将不会报错 ?> ``` 注意第二句的调用是用圆括号包了起来,但还是报这个严格错误,如图4-10所示。 ![](/uploads/images/20231207/f8bb2bff96b3781a0d02de8454526939.png) PHP 7之前的版本是不会报第2个错误的。例如,在PHP 5中的运行结果如图4-11所示。 ![](/uploads/images/20231207/fc4615a951af28695e2914e2fa7c68eb.png)
上一篇:
函数传递参数值
下一篇:
文件包含
该分类下的相关小册推荐:
PHP高并发秒杀入门与实战
Laravel(10.x)从入门到精通(六)
Swoole入门教程
PHP8入门与项目实战(7)
Magento零基础到架构师(安装篇)
Magento2后端开发高级实战
Yii2框架从入门到精通(中)
Magento零基础到架构师(库存管理)
Laravel(10.x)从入门到精通(九)
Magento零基础到架构师(系统管理)
PHP合辑1-基础入门
Magento零基础到架构师(产品管理)