Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menghantar parameter tatasusunan dalam php

Bagaimana untuk menghantar parameter tatasusunan dalam php

PHPz
PHPzasal
2023-04-26 09:14:12660semak imbas

Dalam PHP, lulus parameter ialah operasi yang sangat penting. Dalam fungsi atau kaedah, menghantar parameter membolehkan anda menghantar data dan maklumat yang perlu diproses supaya ia boleh diproses lebih lanjut. Apabila ia datang kepada tatasusunan, PHP menyediakan cara yang sepadan untuk menghantar parameter tatasusunan dengan cekap.

Melalui tatasusunan satu dimensi

Apabila anda perlu menghantar tatasusunan satu dimensi sebagai parameter, anda boleh menggunakan parameter fungsi untuk lulus tatasusunan. Berikut ialah contoh mudah:

function showArray($arr) {
   foreach($arr as $value) {
      echo $value . "<br>";
   }
}

$myArray = array("apple", "orange", "banana");
showArray($myArray);

Dalam contoh ini, kami mencipta fungsi yang dipanggil showArray() yang menerima satu parameter $arr. Apabila kita memanggil fungsi ini, kita menghantar tatasusunan array("apple", "orange", "banana"). Kemudian, di dalam fungsi, kami menggunakan gelung foreach untuk mengulangi tatasusunan dan mencetak setiap nilai.

Melalui tatasusunan berbilang dimensi

PHP membolehkan anda menghantar tatasusunan berbilang dimensi dengan menghantar tatasusunan kepada fungsi atau kaedah. Berikut ialah contoh mudah:

function showMultiArray($arr) {
   foreach($arr as $value) {
      if(is_array($value)) {
         showMultiArray($value);
      } else {
         echo $value . "<br>";
      }
   }
}

$myArray = array( "fruit" => array("apple", "orange", "banana"), "vegetable" => array("carrot", "pepper", "onion") );
showMultiArray($myArray);

Dalam contoh ini, kami mencipta fungsi yang dipanggil showMultiArray() yang menerima tatasusunan berbilang dimensi $arr. Apabila kita memanggil fungsi ini, kita lulus tatasusunan berbilang dimensi yang mengandungi tatasusunan "buah" dan tatasusunan "sayur-sayuran". Kami menggunakan foreach untuk mengulung tatasusunan berbilang dimensi ini dan menyemak sama ada setiap nilai ialah tatasusunan. Jika ia adalah tatasusunan, fungsi showMultiArray() dipanggil secara rekursif untuk lelaran ke atas anak tatasusunan. Jika tidak, kami mencetak nilai.

Melalukan tatasusunan melalui simbol &

Secara lalai, PHP menyalin tatasusunan apabila menghantarnya kepada fungsi. Ini bermakna mengubah suai tatasusunan di dalam fungsi tidak menjejaskan tatasusunan asal. Tetapi kadangkala, anda mungkin perlu mengubah suai tatasusunan asal di dalam fungsi. Untuk melakukan ini, anda boleh lulus tatasusunan dengan rujukan. Rujukan kepada tatasusunan boleh dihantar kepada fungsi dengan menghantarnya di hadapan parameter fungsi menggunakan tatatanda &. Ini bermakna apabila tatasusunan diubah suai di dalam fungsi, tatasusunan asal akan terjejas. Berikut ialah contoh mudah:

function addValues(&$arr) {
   $arr[] = "cat";
}

$myArray = array("dog", "fish");
addValues($myArray);
print_r($myArray);

Dalam contoh ini kita mencipta fungsi yang dipanggil addValues() dan lulus tatasusunan & menggunakan rujukan simbolik $arr. Apabila kita memanggil fungsi ini dan menghantarnya $myArray, ia akan menambah item baharu "kucing" pada tatasusunan asal. Dalam fungsi print_r(), kami mencetak kandungan tatasusunan asal, menunjukkan "kucing" yang baru ditambah.

Ringkasan

PHP menyediakan pelbagai cara untuk menghantar parameter tatasusunan, daripada tatasusunan satu dimensi kepada tatasusunan berbilang dimensi, sehingga menghantar tatasusunan melalui rujukan. Kaedah lulus ini berguna apabila anda perlu mengendalikan tatasusunan dalam fungsi. Ingat apabila menghantar parameter tatasusunan anda boleh menggunakan parameter fungsi untuk lulus tatasusunan dan lulus melalui rujukan jika perlu.

Atas ialah kandungan terperinci Bagaimana untuk menghantar parameter tatasusunan dalam 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