Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan satu dimensi kepada tatasusunan bersekutu dalam PHP

Bagaimana untuk menukar tatasusunan satu dimensi kepada tatasusunan bersekutu dalam PHP

PHPz
PHPzasal
2023-04-18 14:06:34487semak imbas

PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web. Fungsi tatasusunan yang berkuasa adalah salah satu ciri yang paling penting.

Dalam PHP, tatasusunan ialah pembolehubah yang boleh menyimpan berbilang nilai, dan nilai ini boleh berupa sebarang jenis data, seperti integer, nombor titik terapung, rentetan, nilai Boolean, objek, dsb. Selain itu, tatasusunan juga boleh dibahagikan kepada tatasusunan diindeks dan tatasusunan bersekutu.

Artikel ini terutamanya memperkenalkan kaedah menukar tatasusunan satu dimensi kepada tatasusunan bersekutu dalam PHP.

1. Apakah itu tatasusunan bersekutu

Dalam PHP, tatasusunan bersekutu juga dipanggil jadual atau kamus cincang. Ia ialah struktur data yang sepadan dengan nilai dengan nama kunci (atau indeks), seperti:

$person = array(
    'name' => 'Tom',
    'age' => 20,
    'email' => 'tom@example.com'
);

Dalam tatasusunan bersekutu ini, aksara bernama "nama", "umur", dan "e-mel" Rentetan ialah nama kunci dan "Tom", "20", dan "tom@example.com" ialah nilai yang sepadan.

2. Tukar tatasusunan satu dimensi kepada tatasusunan bersekutu

Kaedah menukar tatasusunan satu dimensi kepada tatasusunan bersekutu anda hanya perlu memadankan elemen tatasusunan asal dengan kunci nama dan nilai.

Berikut ialah tatasusunan contoh:

$students = array('Max', 'John', 'Jane');

Tukarkannya kepada tatasusunan bersekutu dan tetapkan ID kepada setiap elemen:

foreach($students as $key => $value) {
    $students[$key] = array(
        'id' => $key,
        'name' => $value
    );
}

Dalam kod ini, $key mewakili nama kunci tatasusunan, dan $value mewakili nilai yang sepadan. Dalam gelung, kami mencipta tatasusunan baharu yang mengandungi dua pasangan nilai kunci dan menggunakan $key sebagai ID dan $value sebagai nilai nama.

Keputusan akhir adalah seperti ini:

array(
    0 => array('id' => 0, 'name' => 'Max'),
    1 => array('id' => 1, 'name' => 'John'),
    2 => array('id' => 2, 'name' => 'Jane')
)

Seperti yang anda lihat, tatasusunan satu dimensi ini berjaya ditukar menjadi tatasusunan bersekutu, di mana setiap elemen mempunyai ID dan nama yang sepadan .

3. Gunakan fungsi array_combine untuk menukar

Selain menggunakan gelung foreach, PHP juga menyediakan kaedah pantas untuk menukar tatasusunan satu dimensi kepada tatasusunan bersekutu. Kaedah ini adalah menggunakan fungsi array_combine().

Fungsi array_combine() boleh menggabungkan dua tatasusunan menjadi tatasusunan baharu, dengan tatasusunan pertama sebagai nama kunci dan tatasusunan kedua sebagai nilai kunci yang sepadan.

Kod berikut menunjukkan cara menggunakan fungsi array_combine() untuk menukar dua tatasusunan kepada tatasusunan bersekutu:

$keys = array('name', 'age', 'city');
$values = array('John', 30, 'New York');

$person = array_combine($keys, $values);

Dalam kod ini, kami mencipta dua tatasusunan satu dimensi$keys dan $values masing-masing mengandungi unsur seperti "nama", "umur", "bandar" dan "John", "30" dan "New York". Kemudian gunakan fungsi array_combine() untuk menggabungkannya menjadi tatasusunan bersekutu $person.

Keputusan akhir ialah:

array(
    'name' => 'John',
    'age' => 30,
    'city' => 'New York'
)

Tatasusunan bersekutu ini mempunyai tiga pasangan nilai kunci, setiap nama kunci ialah "nama", "umur", dan "bandar", dan yang sepadan Nilainya ialah "John", "30", dan "New York" masing-masing.

4. Ringkasan

Artikel ini terutamanya memperkenalkan cara menukar tatasusunan satu dimensi dalam PHP kepada tatasusunan bersekutu. Sama ada melalui gelung foreach atau menggunakan fungsi array_combine(), kedua-dua kaedah boleh menyelesaikan tugas ini dengan mudah. Dalam pembangunan sebenar, kaedah mana yang hendak dipilih bergantung pada situasi dan keperluan yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan satu dimensi kepada tatasusunan bersekutu dalam PHP. 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