Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php menukar tatasusunan bersekutu kepada tatasusunan indeks

php menukar tatasusunan bersekutu kepada tatasusunan indeks

WBOY
WBOYasal
2023-05-06 11:25:07589semak imbas

Dalam PHP, tatasusunan bersekutu ialah tatasusunan yang terdiri daripada pasangan nilai kunci, manakala tatasusunan indeks ialah tatasusunan dengan nilai integer sebagai kunci. Kadangkala kita mungkin perlu menukar tatasusunan bersekutu kepada tatasusunan diindeks, yang boleh memudahkan beberapa operasi tatasusunan.

Berikut ialah beberapa kaedah yang boleh digunakan untuk menukar tatasusunan bersekutu kepada tatasusunan diindeks:

  1. fungsi array_values()

PHP terbina- dalam fungsi array_values() boleh mengembalikan Semua nilai dalam tatasusunan dan membina semulanya menjadi tatasusunan diindeks baharu.

Contoh:

$assocArr = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$indexedArr = array_values($assocArr);
print_r($indexedArr);

Output:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

Dengan cara ini nilai-nilai tatasusunan bersekutu boleh disusun semula menjadi tatasusunan diindeks baharu, tetapi memandangkan nama kunci adalah dibuang , jadi kaedah ini tidak boleh mengekalkan pasangan nilai kunci asal.

  1. Menggunakan penukaran jenis cast

Kita boleh menukar tatasusunan kepada objek dahulu, dan kemudian menghantarnya ke dalam tatasusunan, supaya kami boleh mendapatkan tatasusunan indeks baharu.

Contoh:

$assocArr = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$indexedArr = (array) $assocArr;
print_r($indexedArr);

Output:

Array
(
    [a] => apple
    [b] => banana
    [c] => cherry
)

Kaedah ini juga tidak mengekalkan nama kunci asal.

  1. Melintasi dan membina tatasusunan baharu secara manual

Kaedah ini adalah yang paling langsung dan fleksibel, kita boleh melintasi tatasusunan secara manual dan menyimpan nilainya ke dalam indeks baharu tengah tatasusunan.

Contoh:

$assocArr = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$indexedArr = array();
foreach ($assocArr as $value) {
    $indexedArr[] = $value;
}
print_r($indexedArr);

Output:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

Kaedah ini boleh mengekalkan nama dan nilai kunci asal, tetapi kerana ia memerlukan traversal manual tatasusunan, kod itu panjang dan tidak cukup ringkas.

Ringkasnya, kita boleh memilih kaedah tertentu mengikut situasi khusus untuk menukar tatasusunan bersekutu kepada tatasusunan indeks. Tidak kira kaedah yang digunakan, kita mesti memberi perhatian untuk memastikan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci php menukar tatasusunan bersekutu kepada tatasusunan indeks. 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