iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php传参一定是字符串吗
  • 849
分享到

php传参一定是字符串吗

2023-07-04 19:07:07 849人浏览 独家记忆
摘要

本篇内容主要讲解“PHP传参一定是字符串吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php传参一定是字符串吗”吧!不是,php传参可以是字符串、数字、布尔值、数组等。从PHP5.6版本开始支

本篇内容主要讲解“PHP传参一定是字符串吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习php传参一定是字符串吗”吧!

不是,php传参可以是字符串、数字、布尔值、数组等。从PHP5.6版本开始支持传递数组参数,函数的形式参数可使用“…”来表示函数可接受一个可变数量的参数,而可变参数将会被当作一个数组传递给函数,语法“function 函数名(...$arr){//执行代码}”。

PHP 自定义的函数

在 PHP 中声明一个自定义的函数可以使用下面的语法格式:

function 函数名 (参数1, 参数2, ..., 参数n){    函数体;    return 返回值;}

声明函数时函数名后面的小括号“()”也是必须有的,在小括号中包含了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时可以将变量传递给函数。参数列表可以为空,也可以有一个或多个参数,多个参数之间使用逗号分隔;

在 PHP 中只要在需要使用函数的位置,使用函数名称和参数列表进行函数调用:

函数名 (参数1, 参数2, ..., 参数n);

可以看出:函数的参数列表是由零个或多个参数组成的,每个参数之间使用逗号分隔开。

根据参数使用的位置,参数分为形式参数和实际参数两种。

形式参数就是定义函数时函数名后面括号内的参数列表(简称“形参”),就像它的名字一样,形参本身没有具体的值。因为函数体中需要使用外部传入的参数,为了使参数可以正确地传递进来,就需要通过形式参数与函数体里面的数据进行传递,形式参数如下图所示。

php传参一定是字符串吗

实际参数就是我们在调用函数时函数名后面括号中的若干个参数(简称“实参”),实参和形参需要按顺序一一对应,它会替换形式参数在函数体中对应的变量值,函数的参数可以是一个具体的值,也可以是一个变量,实际参数如下图所示。

php传参一定是字符串吗

php传参

在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。

1、值传递

值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参,所以在函数中操作参数的值并不会对函数外的实参造成影响。因此如果不希望函数修改实参的值,就可以通过值传递的方式。

【示例】下面定义一个简单的函数,函数有两个参数,在函数中交换参数的值。

<?php  function swap($a, $b){    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>';    $temp = $a;    $a = $b;    $b = $temp;    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>';  }  $x = 5;  $y = 7;  echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>';  swap($x, $y);  echo '函数外,交换后 $x = '.$x.', $y = '.$y;?>

运行结果如下:

php传参一定是字符串吗

2、引用传递

参数的引用传递就是把实参的内存地址复制一份,然后传递给函数的形参,实参和形参都指向同一个内存地址,因此函数对形参的操作,会影响到函数外的实参。

按引用传递就是将实参的内存地址传递到函数的形参中。因此实参和形参指向的是同一个内存地址。这时在函数内部的所有操作都会影响到函数外实参的值。引用传递的方式就是在值传递的基础上加上一个&符号,如下所示:

function name (&参数1, &参数2, ..., &参数3) {  ...    }

【示例】将上面示例的代码略作调整,使用引用传递的方式向 swap 函数中传递参数,代码如下所示:

<?php  function swap(&$a, &$b){    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>';    $temp = $a;    $a = $b;    $b = $temp;    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>';  }  $x = 5;  $y = 7;  echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>';  swap($x, $y);  echo '函数外,交换后 $x = '.$x.', $y = '.$y;?>

运行结果如下:

php传参一定是字符串吗

3、默认参数

默认参数就是给函数的某个或多个形式参数指定一个默认的值,如果调用函数时不传入对应的值,那么函数就会使用这个默认值,这样可以避免调用时出现没有参数的错误,也可以使一些程序显得更加合理。如果传入对应的参数,就会替换这个默认值。

函数的默认参数如下所示:

function name ($str = 'hello', $url) {  echo $str; }

其中,形式参数 $str 后面的“hello中文网”就是它的默认值,形参与默认值之间需要使用=连接。

【示例】下面来定义一个具有默认参数的函数,如下所示:

<?php  function add($a, $b=56){    echo $a.' + '.$b.' = '.($a+$b).'<br>';  }  add(11);  add(37, 29);?>

php传参一定是字符串吗

默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。

4、可变长度参数--将一个数组传递给函数

在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:

<?php    function test(...$arr){        var_dump($arr);    }    test(1, 2, 3, 4);    test(5, 6, 7, 8, 9, 10);?>

php传参一定是字符串吗

到此,相信大家对“php传参一定是字符串吗”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: php传参一定是字符串吗

本文链接: https://www.lsjlt.com/news/347094.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php传参一定是字符串吗
    本篇内容主要讲解“php传参一定是字符串吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php传参一定是字符串吗”吧!不是,php传参可以是字符串、数字、布尔值、数组等。从PHP5.6版本开始支...
    99+
    2023-07-04
  • php传参都是字符串吗
    不是,php传参可以是字符串、数字、布尔值、数组等。从PHP5.6版本开始支持传递数组参数,函数的形式参数可使用“…”来表示函数可接受一个可变数量的参数,而可变参数将会被当作一个数组传递给函数,语法“function 函数名(...$arr...
    99+
    2023-05-14
    php php函数
  • php如何验证字符串第一个字符是不是指定值
    这篇文章主要介绍了php如何验证字符串第一个字符是不是指定值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何验证字符串第一个字符是不是指定值文章都会有所收获,下面我们一起来看看吧。3种方法:1、用“st...
    99+
    2023-06-30
  • php怎么将对象转为字符串并传参
    在 PHP 中,对象转字符串并传参是一项常见的编程技能,可以通过对象的 __toString() 方法来实现。__toString() 是 PHP 中的一个魔术方法,用于将对象转换为字符串类型。当对象被用于字符串上下文时,PHP 会自动调用...
    99+
    2023-05-14
    php
  • PHP如何判断一个字符串中是否包含一个给定的子字符串
    这篇文章将为大家详细讲解有关PHP如何判断一个字符串中是否包含一个给定的子字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 判断字符串中是否包含子字符串的 PHP 函数 PHP 提供了多种函数来检查...
    99+
    2024-04-02
  • php如何将对象转为字符串并传参
    这篇文章主要介绍“php如何将对象转为字符串并传参”,在日常操作中,相信很多人在php如何将对象转为字符串并传参问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何将对象转为字符串并传参”的疑惑有所帮助!...
    99+
    2023-07-05
  • PHP使用另一个字符串填充字符串为指定长度
    ...
    99+
    2024-04-02
  • php字符串有下标吗
    本篇内容介绍了“php字符串有下标吗”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php字符串有下标。在PHP中,下标不仅可以应用于数组和对...
    99+
    2023-06-30
  • PHP替换字符串中某串为另一个字符串
    ...
    99+
    2024-04-02
  • php怎么将字符串变一维数组吗
    在PHP中,字符串可以被转换成一维数组。这个过程需要使用某些内置的PHP函数,这些函数将字符串转换为数组,并应用于特定用例。使用PHP中的explode()函数可以将一个字符串按照特定分隔符分割成数组。下面是一个简单的例子,展示如何使用该函...
    99+
    2023-05-14
  • php字符串替换指定字符的方法是什么
    PHP字符串替换指定字符的方法是使用字符串函数中的str_replace()函数。str_replace()函数可以在一个字符串中查...
    99+
    2023-05-13
    php字符串替换 php
  • php如何判断指定字符是否在字符串中
    这篇文章主要介绍“php如何判断指定字符是否在字符串中”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何判断指定字符是否在字符串中”文章能帮助大家解决问题。判断方法:1、用strpos(),如...
    99+
    2023-07-04
  • PHP如何检查字符串是否以给定的子字符串开头
    这篇文章将为大家详细讲解有关PHP如何检查字符串是否以给定的子字符串开头,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 检查字符串以给定子字符串开头 在 PHP 中,可以使用多种方法来检查字符串是否以给...
    99+
    2024-04-02
  • PHP如何检查字符串是否以给定的子字符串结尾
    这篇文章将为大家详细讲解有关PHP如何检查字符串是否以给定的子字符串结尾,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP检查字符串是否以给定子字符串结尾的方法 在PHP中,检查字符串是否以给定的子字符...
    99+
    2024-04-02
  • php如何检测字符串中是否包含指定字符
    本篇内容介绍了“php如何检测字符串中是否包含指定字符”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!两种检测方法:1、利用strpos()检...
    99+
    2023-07-02
  • 如何在 PHP 中检查字符串是否包含一个子字符串
    本文将介绍在 PHP 中使用 strpos() 和 preg_match() 函数检查一个字符串是否包含子字符串的不同方法。 在 PHP 中使用 strpos() 函数检查一个字符串是否包含一个子字...
    99+
    2024-02-27
  • php可以判断字符串是否是中文吗
    可以判断。判断方法:1、使用preg_match()函数配合正则来判断是否全是中文 ,语法“!preg_match("/[^\x80-\xff]/i",$str)”;2、使用preg_match()函数配合正则来判断是否...
    99+
    2023-05-14
    php php字符串
  • php post json字符串数组吗
    在开发中,经常会遇到需要用到JSON字符串数组的情况。JSON字符串数组的格式是比较特殊的,经常用来传递一系列的参数或数据。PHP作为一门常用的后端编程语言,我们可以通过POST请求来发送JSON字符串数组。首先,我们需要创建一个JSON字...
    99+
    2023-05-19
  • php字符串如何替换一个字符
    这篇“php字符串如何替换一个字符”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php字符串如何替换一个字符”文章吧。替换1...
    99+
    2023-06-30
  • 在Java中字符串是通过引用传递的吗
    本篇内容介绍了“在Java中字符串是通过引用传递的吗”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 一...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作