Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang fungsi PHP 5.5: Cara menggunakan fungsi array_map untuk menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan

Penjelasan terperinci tentang fungsi PHP 5.5: Cara menggunakan fungsi array_map untuk menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan

WBOY
WBOYasal
2023-07-29 20:15:231202semak imbas

Penjelasan terperinci tentang fungsi PHP 5.5: Cara menggunakan fungsi array_map untuk menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan

Dalam pembangunan PHP, selalunya perlu menggunakan operasi yang sama untuk setiap elemen dalam tatasusunan, seperti melaksanakan beberapa pengiraan pada setiap elemen , pemformatan atau pemprosesan lain. PHP menyediakan banyak fungsi untuk operasi tatasusunan, termasuk fungsi peta_tatasusunan. Fungsi array_map menggunakan fungsi panggil balik untuk setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu. Sintaks asas fungsi

array_map adalah seperti berikut:
array array_map ( boleh panggil $callback , array $array1 [, array $... ] )

di mana $callback ialah fungsi panggil balik yang akan digunakan dan $array1 ialah tatasusunan yang akan diproses. Fungsi tatasusunan_map menggunakan fungsi panggil balik kepada elemen yang sepadan dalam setiap tatasusunan dan mengembalikan tatasusunan baharu yang elemennya adalah hasil daripada elemen yang sepadan bagi fungsi panggil balik.

Mari kita lihat beberapa contoh kod sebenar di bawah.

  1. Tambahkan satu pada setiap elemen dalam tatasusunan:

    $numbers = array(1, 2, 3, 4, 5);
    $addOne = function ($num) {
     return $num + 1;
    };
    $newNumbers = array_map($addOne, $numbers);
    print_r($newNumbers);
    // 输出:Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 )

Dalam contoh di atas, kami menentukan fungsi tanpa nama $addOne yang menerima parameter $num dan mengembalikan nilai $num + 1. Kami kemudian menggunakan fungsi array_map untuk menggunakan fungsi $addOne pada setiap elemen tatasusunan $numbers, akhirnya menghasilkan tatasusunan baru $newNumbers yang elemennya adalah hasil penggunaan fungsi $addOne kepada elemen yang sepadan dengan tatasusunan $numbers.

  1. Output terformat untuk setiap elemen dalam tatasusunan:

    $names = array('Alice', 'Bob', 'Charlie');
    $formatName = function ($name) {
     return strtoupper($name);
    };
    $formattedNames = array_map($formatName, $names);
    print_r($formattedNames);
    // 输出:Array ( [0] => ALICE [1] => BOB [2] => CHARLIE )

Dalam contoh di atas, kami menggunakan fungsi tanpa nama $formatName untuk menukar rentetan $name kepada huruf besar. Kami kemudiannya menggunakan fungsi array_map untuk menggunakan fungsi $formatName pada setiap elemen tatasusunan $names, menghasilkan tatasusunan baharu $formattedNames yang elemennya adalah hasil penggunaan fungsi $formatName kepada elemen yang sepadan bagi tatasusunan $names.

Perlu diambil perhatian bahawa jika berbilang tatasusunan disediakan sebagai parameter, fungsi array_map akan melintasi tatasusunan ini pada masa yang sama dan menghantar elemen pada kedudukan yang sepadan kepada fungsi panggil balik. Jika panjang tatasusunan tidak konsisten, panjang tatasusunan terpendek digunakan sebagai had traversal.

Di atas ialah pengenalan terperinci dan contoh kod menggunakan fungsi array_map untuk menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan. Dengan menguasai fungsi ini, anda boleh memudahkan operasi tatasusunan dan meningkatkan kecekapan pembangunan program PHP. Saya harap artikel ini dapat membantu semua orang, terima kasih kerana membaca!

Atas ialah kandungan terperinci Penjelasan terperinci tentang fungsi PHP 5.5: Cara menggunakan fungsi array_map untuk menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan. 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