首页 > 后端开发 > 正文

php函数的实参 PHP 8:函数和方法

2024-11-06 06:18:09 | 我爱编程网

今天我爱编程网小编整理了php函数的实参 PHP 8:函数和方法相关信息,希望在这方面能够更好帮助到大家。

本文目录一览:

php函数的实参 PHP 8:函数和方法

一张图让我看懂PHP和JS区别

1,类型转换的不同

在javascript中, 空对象和空数组转换为boolean值为true;

但在php中 ,空对象空数组转换为boolean值为false;

(仅在php4中空对象的boolean值为false)

包括非0的负数值,都是转换为true;

2,实形参的不同

在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参

而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错)

复制代码
代码如下:

function mao(val1,val2,val3){
}

mao(aa,bb);

此时由于val3未指定实参,会报错
但当val3初始化一个值时,不报错

复制代码
代码如下:

function mao(val1,val2,val3="123"){
}

mao(aa,bb);

js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,

本质原因由于php不存在原型连,执行过程中没有变量对象。

3.数据类型的不同

js中有undefined类型,php中无此类型,

因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;

并且js中只有number类型,而在php中无此类型,取代的为int float类型;

4.字符串的连接

js中使用加号 + +=

php中使用点号 ..=

5.控制语句的区别

else if与elseif在php中都支持,js只支持前者

6.大小写问题

js严格区分大小写

php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。

7.变量的作用范围

php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的

程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无

法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以
告诉函数主体此变量为全局。

js由于原型连的关系,可直接调用

8.静态变量

PHP支持声明函数变量为静态的(static)

js随无静态变量但可以定义函数的属性来冒充静态变量

php函数的实参 PHP 8:函数和方法

PHP传值,引用和传址的区别

实参(被调)、行参(主调)
函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
--传值:
是把实参的值赋值给行参,相当于复制一块同样的空间那么对行参的修改,不会影响实参的值
--传地址:
是传值的一种特殊方式,只是他传递的是地址,不是普通的如int那么传地址以后,实参和行参都指向同一个对象--传引用:
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值
即传址时只需在函数调用时在参数的前面加上"&"号即可。将函数外部的值的内存地址传递给内部的参数,在函数内部的所有操作都会改变函数外部参数的值。
值传递(passl-by-value): 压栈的是参数的副本。任何的修改是在副本上作用,没有作用在原来的变量上。
过程中:被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。
传指针(pointer): 压栈的是指针变量的副本。当你对指针解指针操作时,其值是指向原来的那个变量,所以对原来变量操作。
引用传递(pass-by-reference):压栈的是引用的副本。由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作。
过程中:被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
所谓值传递,就是说仅将对象的值传递给目标对象,就相当于copy;系统将为目标对象重新开辟一个完全相同的内存空间。
所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。如果对目标对象进行修改,内存中的数据也会改变。

php函数的实参 PHP 8:函数和方法我爱编程网

PHP 8:函数和方法

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP 8:函数和方法的相关内容。

PHP 8 的新特性中,对函数和方法的改进亮点颇多,尤其关注于可调用语法、命名参数和多任务支持。PHP 8.0 引入了可调用对象的匿名函数创建,允许命名参数与位置参数并用,且无需考虑参数顺序。对于私有方法的继承规则,PHP 8取消了对final和static修饰符的限制,仅保留了对构造函数的private final约束。

可变参数在 PHP 8 中支持替换任意数量的函数参数,提高了灵活性。简化的可调用语法允许更简洁的表达式,如 AVariableCallableExpression(...),但需注意作用域问题。尾逗号和可选/必选参数顺序的改变,提升了代码的可读性,尽管在某些情况下可能并无实际作用。

命名函数形参和实参的引入,允许更清晰地传递参数,并支持在函数调用中混合使用。此外,PHP 8.1 引入的纤程(Fiber)特性支持多任务处理,增强了程序的并发能力。

标准库的新函数,如str_contains和str_starts_with,提供了更直观的字符串操作。Stringable接口和__toString()方法的使用也有所规范,以及内置函数的弃用和增强,如utf8_encode和iterator相关函数的改进,都反映了PHP 8在函数和方法方面的进步。

总的来说,PHP 8不仅增强了现有功能,还引入了新的编程工具,为开发者提供了更多选择和便利。后续文章将深入探讨PHP 8的其他特性,如类型系统。

以上,就是我爱编程网小编给大家带来的php函数的实参 PHP 8:函数和方法全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“php函数的实参 PHP 8:函数和方法”相关推荐
PHP 8:函数和方法 PHP是什麽(我想要详细一点的答案)
PHP 8:函数和方法 PHP是什麽(我想要详细一点的答案)

PHP8:函数和方法PHP8的新特性中,对函数和方法的改进亮点颇多,尤其关注于可调用语法、命名参数和多任务支持。PHP8.0引入了可调用对象的匿名函数创建,允许命名参数与位置参数并用,且无需考虑参数顺序。对于私有方法的继承规则,PHP8取消了对final和static修饰符的限制,仅保留了对构造函数的privatefinal约束。可变参数在PHP8中支持替换任意数量的函数参数,提高了灵

2024-08-25 18:07:25
php求圆的面积函数调用 php静态方法和实例方法的区别
php求圆的面积函数调用 php静态方法和实例方法的区别

php静态方法和实例方法的区别static关键字用来修饰属性、方法,称这些属性、方法为静态属性、静态方法。static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用。static关键字可以用来修饰变量、方法。不经过实例化,

2024-08-25 19:01:14
php实现utf-8和GB2312编码相互转换函数代码 用PHP定义一个函数,返回3个参数中的最大值?
php实现utf-8和GB2312编码相互转换函数代码 用PHP定义一个函数,返回3个参数中的最大值?

php实现utf-8和GB2312编码相互转换函数代码复制代码代码如下:<?php/**********************************************函数名:get_utf8_to_gb($value)*作用:utf8编码字符串转换成gb2312编码*作者:刘先忠*日期:2011-11-09

2024-08-17 20:30:40
php函数和方法 php随机数函数
php函数和方法 php随机数函数

php随机数函数在PHP中,随机数(RandomNumber)是指一组伪随机数(Pseudo-randomNumber),即看起来随机的数字序列,但实际上是由一个算法生成的。PHP提供了一些内置函数,可以用来生成伪随机数,这些函数可以用于各种应用程序,如游戏、密码学、模拟等。以下是一些PHP中常用的生成随机数的函数:1、rand()函数:生成一个指定范围内的随机整数。例如

2024-07-21 12:17:57
php获取数组长度的方法(有实例) 求PHP中eval()函数的使用方法
php获取数组长度的方法(有实例) 求PHP中eval()函数的使用方法

php中count()函数的作用?PHP中count()函数表示:计算数组中元素的个数,或者计算对象中属性的个数;计算数组元素个数示例:<?php$arr = array("baidu", "google", "soso");echo count($arr);//结果:3?>计算对象中的属性个数示例:<?phpclass Person{    publi

2025-02-14 15:07:15
php无限参数函数 PHP max定义和用法
php无限参数函数 PHP max定义和用法

PHPmax定义和用法PHP中的max()函数用于获取一组数值中的最大值。其基本语法形式为max(x,y),其中x和y是必需的参数,可以是单个数值,也可以是两个或更多数值。函数会比较这两个或更多参数,并返回其中数值最大的一个。当只有一个参数并且这个参数是一个数组时,max()函数会直接返回数组中的最大值。这意味着,无论参数是以数组形式提供还是直接作为数值,max()都能处理并返回相应的

2024-11-12 16:52:16
php函数参数定义 PHP filter_has_var定义和用法
php函数参数定义 PHP filter_has_var定义和用法

PHPfilter_has_var定义和用法PHP中的filter_has_var()函数是一个实用工具,用于验证指定输入类型中是否存在一个变量。这个函数的主要作用是进行类型检查,确保在处理用户提交的数据时,我们能够准确判断变量是否已存在于特定的输入源中。函数的调用格式是filter_has_var(type,variable),其中参数含义明确。第一个参数type是必需的,它规定

2024-12-07 14:27:56
php 数组 函数 php获取数组长度的方法(有实例)
php 数组 函数 php获取数组长度的方法(有实例)

php数组函数之array_rand我们可以读取随机数,用rand函数,我们也可读取数组中随机的键值,用array_rand函数。先初始化一个数组,?php$input=array("City","Green","House","Taxi","Mistake");我们发现有5个值,不同的英文单词。使用array_rand函数获取随机的下标。$rand_keys=array_rand(

2024-12-16 19:58:02