Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya menghantar elemen tatasusunan sebagai hujah individu kepada fungsi dalam PHP?

Bagaimanakah saya menghantar elemen tatasusunan sebagai hujah individu kepada fungsi dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-08 13:42:01777semak imbas

How do I pass elements of an array as individual arguments to a function in PHP?

Melalukan Tatasusunan sebagai Argumen Individu dalam PHP

Dalam PHP, selalunya perlu menghantar tatasusunan sebagai argumen kepada fungsi. Walau bagaimanapun, terdapat keadaan apabila kita mungkin mahu menyahrujuk tatasusunan kepada argumen individu.

Penyelesaian

Setakat PHP 5.6 , token ..., juga dikenali sebagai "pengendali percikan," menyediakan penyelesaian yang elegan untuk menghantar tatasusunan sebagai hujah individu. Token ini membolehkan anda "memercikkan" tatasusunan ke dalam senarai argumen, seperti yang ditunjukkan di bawah:

function variadic($arg1, $arg2) {
    echo $arg1 . ' ' . $arg2;
}

$array = ['Hello', 'World'];

// 'Splat' the $array into the function call
variadic(...$array);

// Output: 'Hello World'

Nota Penting:

  • Item tatasusunan diindeks dipetakan untuk berfungsi argumen mengikut kedudukannya, bukan kuncinya.
  • Item tatasusunan bersekutu boleh dibongkar ke dalam menamakan argumen menggunakan ciri argumen bernama PHP 8.
  • Token ... ialah kaedah terpantas untuk membongkar hujah.

Petunjuk Jenis

Anda boleh menaip-membawa token ... untuk memastikan semua nilai yang diluluskan sepadan dengan jenis tertentu. Ini berguna untuk memastikan tatasusunan mengandungi item daripada jenis tertentu:

function variadic($var, SomeClass ...$items) { }

variadic('Hello', new SomeClass, new SomeClass); // Valid

variadic('Hello', 'Not a SomeClass'); // Error

Atas ialah kandungan terperinci Bagaimanakah saya menghantar elemen tatasusunan sebagai hujah individu kepada fungsi 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