Rumah > pembangunan bahagian belakang > masalah PHP > Adakah semua parameter diluluskan dalam rentetan php?

Adakah semua parameter diluluskan dalam rentetan php?

青灯夜游
Lepaskan: 2023-03-17 16:04:01
asal
5075 orang telah melayarinya

Tidak, parameter PHP boleh berupa rentetan, nombor, nilai Boolean, tatasusunan, dsb. Bermula dari PHP versi 5.6, ia disokong untuk lulus parameter tatasusunan Parameter formal fungsi boleh menggunakan "..." untuk menunjukkan bahawa fungsi boleh menerima nombor pembolehubah parameter, dan parameter pembolehubah akan dihantar ke fungsi. sebagai tatasusunan Nama fungsi "fungsi" (...$arr){//kod pelaksanaan}".

Adakah semua parameter diluluskan dalam rentetan php?

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

PHP disesuaikan Fungsi

Untuk mengisytiharkan fungsi tersuai dalam PHP, anda boleh menggunakan format sintaks berikut:

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

Apabila mengisytiharkan fungsi, tanda kurungan "() selepas nama fungsi " juga diperlukan. Satu set senarai parameter yang boleh diterima disertakan dalam kurungan. Parameter ialah pembolehubah yang diisytiharkan, dan kemudian pembolehubah boleh dihantar ke fungsi apabila fungsi dipanggil. Senarai parameter boleh kosong atau mempunyai satu atau lebih parameter Gunakan koma untuk memisahkan berbilang parameter;

Dapat dilihat bahawa senarai parameter fungsi terdiri daripada sifar atau lebih parameter, setiap parameter dipisahkan dengan koma.
函数名 (参数1, 参数2, ..., 参数n);
Salin selepas log masuk

Mengikut lokasi di mana parameter digunakan, parameter dibahagikan kepada parameter formal dan parameter sebenar.

Parameter formal ialah senarai parameter dalam kurungan selepas nama fungsi semasa mentakrifkan fungsi (dirujuk sebagai "parameter formal" seperti namanya, parameter formal itu sendiri tidak mempunyai nilai khusus. Oleh kerana badan fungsi perlu menggunakan parameter luaran, untuk membolehkan parameter dihantar dengan betul, ia perlu melalui parameter formal dan data dalam badan fungsi Parameter formal adalah seperti yang ditunjukkan dalam rajah di bawah.

Adakah semua parameter diluluskan dalam rentetan php?Parameter sebenar ialah beberapa parameter dalam kurungan selepas nama fungsi apabila kita memanggil fungsi (dirujuk sebagai "parameter sebenar" yang diperlukan oleh parameter sebenar tertib satu demi satu Selaras dengan itu, ia akan menggantikan nilai pembolehubah yang sepadan bagi parameter formal dalam badan fungsi Parameter fungsi boleh menjadi nilai tertentu atau pembolehubah Parameter sebenar adalah seperti yang ditunjukkan dalam rajah di bawah.

Adakah semua parameter diluluskan dalam rentetan php?

parameter lulus phpApabila memanggil fungsi, anda perlu menghantar parameter kepada fungsi, yang diluluskan dalam Parameter fungsi dipanggil parameter sebenar, manakala parameter yang ditakrifkan oleh fungsi dipanggil parameter formal. Terdapat empat cara untuk menghantar parameter kepada fungsi, iaitu lulus mengikut nilai, lulus dengan rujukan, parameter lalai dan parameter panjang berubah-ubah.

1. Lulus nilai

Lulus nilai ialah kaedah hantaran nilai lalai untuk fungsi dalam PHP, juga dikenali sebagai "salinan melalui nilai". Seperti namanya, kaedah lulus nilai akan menyalin nilai parameter sebenar dan kemudian menyerahkannya kepada parameter formal fungsi, jadi mengendalikan nilai parameter dalam fungsi tidak akan menjejaskan parameter sebenar di luar fungsi. Oleh itu, jika anda tidak mahu fungsi mengubah suai nilai parameter sebenar, anda boleh menghantarnya mengikut nilai.

【Contoh】Yang berikut mentakrifkan fungsi mudah Fungsi ini mempunyai dua parameter, dan nilai parameter ditukar dalam fungsi.

Keputusan larian adalah seperti berikut:
<?php
  function swap($a, $b){
    echo &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Salin selepas log masuk

Adakah semua parameter diluluskan dalam rentetan php?

Melalui rujukan

Melepasi parameter mengikut rujukan ialah Alamat memori parameter sebenar disalin dan kemudian diserahkan kepada parameter formal fungsi Kedua-dua parameter sebenar dan parameter formal menghala ke alamat memori yang sama, jadi operasi fungsi pada parameter formal akan mempengaruhi. parameter sebenar di luar fungsi.

Lulus melalui rujukan adalah untuk menghantar alamat memori parameter sebenar kepada parameter rasmi fungsi. Oleh itu, parameter sebenar dan parameter formal menghala ke alamat memori yang sama. Pada masa ini, semua operasi di dalam fungsi akan menjejaskan nilai parameter sebenar di luar fungsi. Kaedah lulus melalui rujukan ialah menambah simbol & berdasarkan nilai lulus, seperti yang ditunjukkan di bawah:

[Contoh] Laraskan sedikit kod contoh di atas dan gunakan kaedah lulus dengan merujuk kepada fungsi swap Pas parameter masuk, kodnya adalah seperti berikut:
function name (&参数1, &参数2, ..., &参数3) {
  ...  
  }
Salin selepas log masuk

Keputusan yang dijalankan adalah seperti berikut:
<?php
  function swap(&$a, &$b){
    echo &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Salin selepas log masuk

Adakah semua parameter diluluskan dalam rentetan php?

3 . Parameter lalai

Parameter lalai adalah untuk menentukan nilai lalai untuk satu atau lebih parameter formal fungsi Jika nilai yang sepadan tidak dihantar semasa memanggil fungsi, fungsi akan menggunakan lalai ini nilai, yang boleh mengelakkan masalah tiada parameter semasa memanggil Ralat juga boleh membuat beberapa program kelihatan lebih munasabah. Jika parameter yang sepadan dimasukkan, nilai lalai ini akan diganti.

Parameter lalai fungsi adalah seperti berikut:

Antaranya, "halaman web hello Chinese" selepas parameter formal $str ialah nilai lalainya dan parameter formal memerlukan untuk digunakan antara nilai lalai
function name ($str = &#39;hello&#39;, $url) {
  echo $str; 
}
Salin selepas log masuk
Sambung.

=[Contoh] Mari tentukan fungsi dengan parameter lalai, seperti ditunjukkan di bawah:

<?php
  function add($a, $b=56){
    echo $a.&#39; + &#39;.$b.&#39; = &#39;.($a+$b).&#39;<br>&#39;;
  }
  add(11);
  add(37, 29);
?>
Salin selepas log masuk

Adakah semua parameter diluluskan dalam rentetan php?

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

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

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

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

Adakah semua parameter diluluskan dalam rentetan php?

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Adakah semua parameter diluluskan dalam rentetan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan