Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar koleksi menjadi array dalam php? Analisis ringkas empat kaedah

Bagaimana untuk menukar koleksi menjadi array dalam php? Analisis ringkas empat kaedah

PHPz
Lepaskan: 2023-03-27 17:11:27
asal
1113 orang telah melayarinya

Dalam pengaturcaraan PHP, set dan tatasusunan ialah dua struktur data yang penting. Set ialah himpunan unsur yang tidak tertib, manakala tatasusunan ialah himpunan unsur tertib. Dalam sesetengah kes, kita perlu menukar koleksi kepada tatasusunan untuk memudahkan pemprosesan data. Artikel ini akan memperkenalkan kaedah yang berbeza untuk menukar koleksi kepada tatasusunan dalam PHP dan senario penggunaannya.

1. Gunakan fungsi terbina dalam

PHP menyediakan banyak fungsi untuk mengendalikan set dan tatasusunan. Antaranya, fungsi array_values() boleh menukar koleksi menjadi array. Berikut ialah kod contoh untuk menukar set kepada tatasusunan menggunakan fungsi array_values():

<?php
$set = array(&#39;one&#39;, &#39;two&#39;, &#39;three&#39;);
$array = array_values($set);
print_r($array);
?>
Salin selepas log masuk

Dalam kod di atas, kami telah mencipta set bernama $set yang mengandungi tiga elemen. Seterusnya, kami menukar koleksi kepada tatasusunan menggunakan fungsi array_values() dan menyimpan hasilnya dalam tatasusunan bernama $array. Akhir sekali, kami menggunakan fungsi print_r() untuk memaparkan kandungan tatasusunan. Menjalankan kod di atas, kami akan mendapat keputusan berikut:

Array
(
    [0] => one
    [1] => two
    [2] => three
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda lihat daripada keputusan, kami telah berjaya menukar koleksi kepada tatasusunan. Kaedah ini sangat mudah dan cekap, sesuai untuk pengumpulan data yang kecil.

2. Gunakan penukaran jenis

Fungsi penukaran jenis dalam PHP boleh menukar satu jenis data kepada jenis data yang lain. Kita boleh menukar jenis data koleksi kepada tatasusunan. Berikut ialah contoh kod:

<?php
$set = array(&#39;one&#39;, &#39;two&#39;, &#39;three&#39;);
$array = (array)$set;
print_r($array);
?>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan penukaran jenis untuk menukar koleksi $set kepada tatasusunan. Kami menukar $set kepada tatasusunan menggunakan (tatasusunan), kemudian menyimpan hasilnya dalam tatasusunan bernama $array dan memaparkan kandungan tatasusunan menggunakan fungsi print_r(). Menjalankan kod di atas, kami akan mendapat keputusan berikut:

Array
(
    [0] => one
    [1] => two
    [2] => three
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda lihat daripada keputusan, kami telah berjaya menukar koleksi kepada tatasusunan. Kaedah ini sangat mudah dan cekap, sesuai untuk pengumpulan data yang kecil.

3. Gunakan gelung

Selain menggunakan fungsi terbina dalam dan penukaran jenis, kami juga boleh menggunakan gelung untuk menukar set kepada tatasusunan. Berikut ialah contoh kod:

<?php
$set = array(&#39;one&#39;, &#39;two&#39;, &#39;three&#39;);
$array = array();
foreach($set as $key=>$value){
    $array[] = $value;
}
print_r($array);
?>
Salin selepas log masuk

Dalam kod di atas, kami mencipta set bernama $set yang mengandungi tiga elemen. Kami kemudian menggunakan gelung untuk meletakkan setiap elemen ke dalam tatasusunan yang dipanggil $array dan menggunakan fungsi print_r() untuk memaparkan kandungan tatasusunan. Menjalankan kod di atas, kami akan mendapat hasil berikut:

Array
(
    [0] => one
    [1] => two
    [2] => three
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda boleh lihat daripada hasilnya, kami telah menggunakan gelung untuk menukar koleksi kepada tatasusunan. Walau bagaimanapun, menggunakan gelung untuk mengubah koleksi besar boleh menjadi tidak cekap kerana ia memerlukan pelaksanaan gelung berkali-kali.

4. Menggunakan iterator

PHP menyediakan antara muka Iterator yang boleh digunakan untuk melaksanakan iterator. Kita boleh menggunakan iterator untuk melintasi koleksi dan menukarnya menjadi tatasusunan. Berikut ialah kod sampel:

<?php
class Set implements Iterator{
    private $array = array(&#39;one&#39;, &#39;two&#39;, &#39;three&#39;);
    private $position = 0;
    function rewind(){
        $this->position = 0;
    }
    function current(){
        return $this->array[$this->position];
    }
    function key(){
        return $this->position;
    }
    function next(){
        $this->position++;
    }
    function valid(){
        return isset($this->array[$this->position]);
    }
}
$set = new Set;
$array = iterator_to_array($set);
print_r($array);
?>
Salin selepas log masuk

Dalam contoh di atas, kami telah mencipta kelas bernama Set, yang melaksanakan antara muka Iterator. Kami kemudian menukar koleksi ini kepada tatasusunan dan menggunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan. Menjalankan kod di atas, kami akan mendapat keputusan berikut:

Array
(
    [0] => one
    [1] => two
    [2] => three
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda boleh lihat daripada keputusan, kami telah menggunakan iterator untuk menukar koleksi kepada tatasusunan dan berjaya mengeluarkan kandungan tatasusunan. Kaedah ini sesuai untuk memproses koleksi besar, tetapi ia lebih menyusahkan.

Ringkasan

Artikel ini memperkenalkan empat cara untuk menukar koleksi kepada tatasusunan dalam PHP, termasuk menggunakan fungsi terbina dalam, penukaran jenis, gelung dan iterator. Kita boleh memilih kaedah yang berbeza mengikut keperluan sebenar untuk mendapatkan kecekapan pelaksanaan terbaik dan kesederhanaan kod.

Atas ialah kandungan terperinci Bagaimana untuk menukar koleksi menjadi array dalam php? Analisis ringkas empat kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
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