Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan php kepada koleksi

Bagaimana untuk menukar tatasusunan php kepada koleksi

PHPz
PHPzasal
2023-04-23 09:14:47658semak imbas

Dalam pembangunan PHP, kita selalunya perlu menukar tatasusunan kepada set (juga dikenali sebagai senarai atau jujukan) untuk memudahkan menjalankan satu siri operasi. Koleksi ialah struktur data yang digunakan untuk menyimpan dan memanipulasi jujukan elemen, selalunya digunakan untuk menapis, mengisih, menapis dan memetakan data. Fungsi tatasusunan terbina dalam PHP menyediakan banyak fungsi berguna untuk menukar dan mengendalikan antara tatasusunan dan koleksi.

Artikel ini akan memperkenalkan cara menukar tatasusunan kepada koleksi dalam PHP dan menyediakan beberapa contoh operasi biasa.

  1. Tukar tatasusunan kepada koleksi

Dalam PHP, anda boleh menggunakan fungsi array_values ​​fungsi tatasusunan terbina dalam untuk menukar tatasusunan bersekutu yang mengandungi kunci- pasangan nilai ke dalam tatasusunan diindeks. Setiap elemen tatasusunan diindeks ialah tatasusunan yang mengandungi kunci dan nilai.

Berikut ialah beberapa kod sampel yang menunjukkan cara menukar tatasusunan bersekutu kepada tatasusunan diindeks:

$fruits = array(
    'apple' => 'red',
    'banana' => 'yellow',
    'grape' => 'purple'
);

// Use array_values function to convert the associative array to an indexed array
$fruits_list = array_values($fruits);

print_r($fruits_list);

Ini akan mengeluarkan yang berikut:

Array
(
    [0] => red
    [1] => yellow
    [2] => purple
)

Sekarang, kami telah Berjaya menukar tatasusunan bersekutu kepada tatasusunan diindeks. Kita boleh terus menggunakan tatasusunan ini untuk operasi seterusnya.

  1. Operasi biasa pada koleksi

Setelah kami menukar tatasusunan kepada koleksi, kami boleh menggunakan fungsi tatasusunan PHP untuk melaksanakan satu siri operasi pengumpulan biasa. Berikut ialah beberapa operasi biasa:

2.1 Melintasi koleksi

Anda boleh menggunakan gelung untuk melintasi semua elemen dalam koleksi. Sebagai contoh, kod berikut akan berulang melalui setiap elemen dalam koleksi dan mencetaknya secara bergilir:

$fruits = array('apple', 'banana', 'grape');

foreach($fruits as $fruit) {
    echo $fruit . "\n";
}

Ini akan mengeluarkan hasil berikut:

apple
banana
grape

2.2

Anda boleh menggunakan fungsi array_filter untuk menapis elemen dalam koleksi. Fungsi array_filter menerima fungsi panggil balik sebagai parameter, yang akan menentukan elemen mana yang harus dikekalkan dalam koleksi hasil. Sebagai contoh, kod berikut akan menapis semua elemen yang panjang rentetannya lebih besar daripada atau sama dengan 6:

$fruits = array('apple', 'banana', 'grape', 'kiwi', 'lemon');

$filtered_fruits = array_filter($fruits, function($fruit) {
    return strlen($fruit) >= 6;
});

print_r($filtered_fruits);

Ini akan mengeluarkan hasil berikut:

Array
(
    [1] => banana
    [2] => grape
    [4] => lemon
)

2.3 koleksi

Anda boleh menggunakan fungsi array_map untuk memetakan setiap elemen dalam koleksi kepada nilai baharu. Fungsi array_map juga menerima fungsi panggil balik sebagai parameter, yang akan mengembalikan nilai baharu berdasarkan setiap elemen dalam koleksi. Sebagai contoh, kod berikut akan menukar setiap elemen dalam koleksi kepada huruf besar:

$fruits = array('apple', 'banana', 'grape');

$mapped_fruits = array_map(function($fruit) {
    return strtoupper($fruit);
}, $fruits);

print_r($mapped_fruits);

Ini akan mengeluarkan yang berikut:

Array
(
    [0] => APPLE
    [1] => BANANA
    [2] => GRAPE
)

Runtuhkan koleksi

Fungsi array_reduce boleh digunakan untuk meruntuhkan setiap elemen dalam koleksi dan menggabungkannya menjadi satu nilai. Fungsi array_reduce menerima fungsi panggil balik sebagai parameter Fungsi panggil balik akan menerima dua parameter: nilai elemen sebelumnya dan nilai elemen semasa, dan mengembalikan nilai gabungannya. Sebagai contoh, kod berikut akan mengira jumlah semua elemen dalam set:

$numbers = array(1, 2, 3, 4, 5);

$total = array_reduce($numbers, function($prev, $current) {
    return $prev + $current;
}, 0);

echo $total;

Ini akan mengeluarkan hasil berikut:

15
  1. Ringkasan

Dalam PHP, kita boleh menggunakan fungsi tatasusunan terbina dalam untuk menukar tatasusunan kepada koleksi dengan mudah. Setelah kami menukar tatasusunan kepada koleksi, kami boleh menggunakan pelbagai operasi pengumpulan berguna seperti penapisan, pemetaan, lipatan, dsb. Dengan menguasai teknologi ini, data boleh dimanipulasi dan diuruskan dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php kepada koleksi. 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