PHP array_map() penggunaan fungsi dan contoh

王林
Lepaskan: 2023-06-27 10:16:01
asal
1691 orang telah melayarinya

Terdapat banyak fungsi terbina dalam dalam PHP, antaranya fungsi array_map() adalah salah satu fungsi yang sangat berguna. Fungsi ini boleh menerima satu atau lebih tatasusunan sebagai input dan mengembalikan tatasusunan baharu Setiap elemen tatasusunan baharu ialah hasil tatasusunan input yang diproses oleh fungsi panggil balik. Fungsi array_map() digunakan terutamanya untuk memudahkan operasi, seperti mengendalikan setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu. Sintaks fungsi

array_map() adalah seperti berikut:

array_map(callable $callback, array ...$arrays): array
Salin selepas log masuk

Antaranya, $callback ialah fungsi panggil balik dan $arrays ialah satu atau lebih tatasusunan. Fungsi ini berulang melalui semua tatasusunan dalam $arrays, memanggil fungsi panggil balik pada setiap elemen tatasusunan secara bergilir, dan akhirnya mengembalikan tatasusunan yang mengandungi semua elemen baharu.

Fungsi panggil balik ialah fungsi yang beroperasi pada elemen input. Bilangan parameter yang diterima oleh fungsi panggil balik mestilah sama dengan bilangan elemen tatasusunan input, dan parameter pertama sentiasa elemen tatasusunan input. Fungsi panggil balik boleh mempunyai berbilang tatasusunan input, tetapi setiap tatasusunan input mesti mempunyai bilangan elemen yang sama.

Berikut ialah contoh mudah menggunakan fungsi array_map() untuk menggandakan elemen dalam tatasusunan:

function double($n) {
  return $n * 2;
}

$numbers = array(1, 2, 3, 4, 5);
$doubled = array_map('double', $numbers);

print_r($doubled);
Salin selepas log masuk

Output:

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)
Salin selepas log masuk

Dalam contoh ini, kita mula-mula mentakrifkan fungsi panggil balik double() yang akan mendarabkan nilai input Ambil 2 dan kembalikan hasilnya. Kemudian kami mentakrifkan tatasusunan $numbers, yang mengandungi integer dari 1 hingga 5. Seterusnya, kami memanggil array_map() dengan fungsi double() sebagai fungsi panggil balik dan tatasusunan $numbers sebagai input. Akhir sekali, kami menyimpan output dalam tatasusunan $doubled dan mencetaknya pada skrin.

Kami juga boleh menggunakan berbilang tatasusunan input dalam fungsi panggil balik. Sebagai contoh, array_map() boleh digunakan untuk menjumlahkan elemen dalam dua tatasusunan:

function sum($a, $b) {
  return $a + $b;
}

$numbers1 = array(1, 2, 3, 4, 5);
$numbers2 = array(10, 20, 30, 40, 50);
$summed = array_map('sum', $numbers1, $numbers2);

print_r($summed);
Salin selepas log masuk

Output:

Array
(
    [0] => 11
    [1] => 22
    [2] => 33
    [3] => 44
    [4] => 55
)
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan fungsi panggil balik sum() baharu yang menerima dua parameter input dan Tambahnya. Kami mencipta dua tatasusunan $numbers1 dan $numbers2 dan menyerahkannya kepada fungsi array_map() dengan fungsi sum() sebagai panggilan balik. Fungsi ini mengembalikan tatasusunan baharu $summed yang mengandungi hasil penambahan elemen dalam tatasusunan $numbers1 dan $numbers2.

array_map() juga mempunyai ciri yang digunakan secara meluas: menggunakan fungsi tanpa nama sebagai fungsi panggil balik. Fungsi tanpa nama ialah ciri baharu yang diperkenalkan dalam PHP 5.3 yang membolehkan kami mencipta fungsi secara dinamik apabila perlu. Berikut ialah contoh menggunakan fungsi tanpa nama untuk mengira panjang semua rentetan dalam tatasusunan rentetan:

$strings = array('hello', 'world', 'goodbye');
$lengths = array_map(function($str) { return strlen($str); }, $strings);

print_r($lengths);
Salin selepas log masuk

Output:

Array
(
    [0] => 5
    [1] => 5
    [2] => 7
)
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan fungsi tanpa nama yang menerima rentetan sebagai input dan mengembalikan Panjang rentetan ini. Kami menghantar fungsi tanpa nama ini sebagai fungsi panggil balik kepada fungsi array_map(), menggunakan tatasusunan $strings sebagai input. Akhir sekali, tatasusunan baru $lengths adalah output, yang mengandungi panjang semua rentetan dalam tatasusunan $strings.

Ringkasnya, fungsi array_map() ialah alat yang sangat berguna yang boleh menjadikan operasi tatasusunan lebih jelas dan ringkas. Fungsi panggil balik juga sangat disesuaikan dan boleh beroperasi dengan mudah pada pelbagai jenis data. Harap artikel ini dapat membantu anda lebih memahami dan menggunakan fungsi array_map().

Atas ialah kandungan terperinci PHP array_map() penggunaan fungsi dan contoh. 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