Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Meluluskan Array sebagai Senarai Argumen kepada Fungsi PHP?

Bagaimanakah Saya Boleh Meluluskan Array sebagai Senarai Argumen kepada Fungsi PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 03:40:021027semak imbas

How Can I Pass an Array as Argument List to a PHP Function?

Melalui tatasusunan sebagai senarai argumen dalam PHP

Dalam PHP, terdapat pelbagai cara untuk menghantar tatasusunan sebagai senarai argumen kepada fungsi . Satu kaedah, yang diperkenalkan dalam PHP 5.6, menggunakan ciri fungsi variadic dengan operator ... (splat).

Untuk menggunakan operator splat:

  • Buat tatasusunan yang mengandungi hujah yang anda ingin luluskan.
  • Letakkan tatasusunan dengan operator ... semasa memanggil fungsi.
function variadic($arg1, $arg2) {
  echo $arg1 . ' ' . $arg2;
}

$array = ['Hello', 'World'];
variadic(...$array); // Output: 'Hello World'

Item tatasusunan diindeks dipetakan kepada argumen fungsi berdasarkan kedudukannya, bukan kuncinya.

Memandangkan PHP8, argumen bernama membenarkan anda menggunakan kekunci yang dinamakan tatasusunan bersekutu dengan membongkar:

$array = [
  'arg2' => 'Hello',
  'arg1' => 'World',
];

variadic(...$array); // Output: 'World Hello'

Kaedah lain untuk menghantar tatasusunan sebagai argumen adalah dengan menggunakan call_user_func_array() function:

function my_callback($name, $age) {
  echo $name . ' is ' . $age . ' years old.';
}

$data = ['John', 25];
call_user_func_array('my_callback', $data); // Output: 'John is 25 years old.'

Kaedah ini menerima tatasusunan nilai dan membongkarnya ke dalam argumen individu untuk fungsi tersebut. Walau bagaimanapun, ia lebih perlahan daripada kaedah pengendali percikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meluluskan Array sebagai Senarai Argumen kepada Fungsi 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