cari
Rumahpembangunan bahagian belakangmasalah PHP图文详解php函数参数的几种传递方式

图文详解php函数参数的几种传递方式

Mar 18, 2021 am 11:38 AM
phpfungsiLulus parameter

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

按值传递参数

默认的传参方式,我们在传递参数的时候默认使用的就是这个方式,对形式参数的操作,不会影响到实际参数的值。因此如果不希望函数修改实参的值,就可以通过值传递的方式。

<?php
function test($a){
  echo ++$a;
}
$i=10;
test($i);
echo &#39;<br/>&#39;.$i;
?>

运行结果:

11
10

通过运行结果可以看到,在函数内,数值确实是发生变化了,而在函数外部,数值却没有变化。因此可以说,函数的值传递只是传递变量的副本。那么要是想让函数能够操作函数外实参的话,就需要使用引用传递的方式了。

按引用传递参数

按引用传递参数,对形式参数的操作会影响实际参数。这样我们在函数内部是对这个参数本身进行操作。

<?php
function test(&$a){
  echo ++$a;
}
$i=10;
test($i);
echo &#39;<br/>&#39;.$i;
?>

其运行结果为:

11
11

函数的默认参数

可以给形式参数设置默认值,直接赋值就可以设置

注意:必须从右往左赋值,右边的必须要有,才能给左边的赋值,如果只给左边的赋值,而不给右边的赋值,左边的赋值将不作数

<?php
function test($a=10,$b=20){
  echo $a+$b;
}
test(20,25);
?>

其运行结果为:45,如果只给$a赋值,在调用的时候给$b赋值,那将会显示如下结果:

V9WGZ)@@[SLXS8D`}WIC`E4.png

可变长度参数列表

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

<?php
    function test(...$arr){
        print_r($arr);
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    test(1, 2, 3, 4);
?>

我们可以看到,他的运行结果为:

1MV~~7[EM7M0EPEG[XT~P6A.png

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci 图文详解php函数参数的几种传递方式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini