Rumah >pembangunan bahagian belakang >masalah PHP >php menukar tatasusunan dua dimensi kepada satu dimensi

php menukar tatasusunan dua dimensi kepada satu dimensi

WBOY
WBOYasal
2023-05-06 12:38:08716semak imbas

Dalam pengaturcaraan PHP, kadangkala kita perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi, yang membolehkan kami memproses data dengan lebih mudah dan mencapai fungsi yang lebih kompleks. Artikel ini akan memperkenalkan cara menukar tatasusunan dua dimensi dalam PHP kepada tatasusunan satu dimensi.

1. Definisi tatasusunan

Dalam PHP, tatasusunan ialah jenis data biasa yang boleh menyimpan berbilang nilai. Kita boleh mentakrifkan tatasusunan dua dimensi dengan cara berikut:

$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Lily', 'age' => 20),
    array('name' => 'John', 'age' => 22),
);

Tatasusunan dua dimensi yang ditakrifkan di sini mengandungi tiga elemen dan setiap elemen mengandungi dua pasangan nilai kunci, iaitu nama dan umur.

2. Tukar tatasusunan dua dimensi kepada tatasusunan satu dimensi menggunakan gelung foreach

Menggunakan gelung foreach boleh menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dengan mudah. Kaedah khusus adalah seperti berikut:

$newArr = array();

foreach ($array as $value) {
    $newArr = array_merge($newArr, $value);
}

print_r($newArr);

Dalam kod di atas, kami mula-mula menentukan tatasusunan kosong $newArr untuk menyimpan tatasusunan satu dimensi yang ditukar. Kemudian gunakan gelung foreach untuk lelaran melalui setiap elemen dalam tatasusunan dua dimensi $array dan gabungkan setiap elemen ke dalam $newArr.

Akhir sekali, kita boleh melihat tatasusunan satu dimensi yang ditukar melalui fungsi print_r():

Array
(
    [name] => John
    [age] => 22
)

Seperti yang anda boleh lihat daripada hasilnya, tatasusunan yang ditukar hanya mengandungi nilai elemen terakhir . Ini kerana apabila anda menggunakan fungsi array_merge() untuk menggabungkan tatasusunan, jika terdapat nilai kunci pendua, nilai kemudian akan menimpa nilai sebelumnya.

3. Gunakan gelung sementara untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi

Selain menggunakan gelung foreach, kita juga boleh menggunakan gelung sementara untuk menukar dua tatasusunan -dimensi menjadi tatasusunan satu dimensi. Kaedah khusus adalah seperti berikut:

$newArr = array();

while ($value = array_shift($array)) {
    $newArr = array_merge($newArr, $value);
}

print_r($newArr);

Dalam kod di atas, kami menggunakan gelung sementara untuk terus mengeluarkan elemen pertama tatasusunan $array dan menggabungkannya ke dalam tatasusunan $newArr sehingga tatasusunan $array adalah kitaran kosong. Sama seperti gelung foreach, kami juga menggunakan fungsi array_merge() untuk menggabungkan tatasusunan.

Akhir sekali, kita boleh menggunakan fungsi print_r() sekali lagi untuk melihat tatasusunan satu dimensi yang ditukar:

Array
(
    [name] => John
    [age] => 22
)

Hasil penukaran adalah sama seperti menggunakan gelung foreach.

4. Nota

Dalam proses menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi, anda perlu memberi perhatian kepada beberapa butiran. Butirannya adalah seperti berikut:

  1. Jika terdapat nilai kunci pendua dalam tatasusunan dua dimensi, apabila fungsi array_merge() digunakan untuk menggabungkan tatasusunan, nilai kemudian akan ditulis ganti nilai sebelumnya. Oleh itu, apabila menggabungkan tatasusunan, pertimbangan perlu dibuat berdasarkan situasi sebenar.
  2. Jika nilai kunci setiap elemen dalam tatasusunan dua dimensi adalah berbeza, menukarnya kepada tatasusunan satu dimensi mungkin mengakibatkan kehilangan beberapa maklumat. Oleh itu, sebelum melakukan penukaran tatasusunan, adalah perlu untuk memahami dengan jelas struktur dan ciri setiap elemen dalam tatasusunan dua dimensi.

5. Ringkasan

Artikel ini memperkenalkan kaedah menukar tatasusunan dua dimensi dalam PHP kepada tatasusunan satu dimensi, termasuk menggunakan gelung foreach dan gelung sementara. Dalam pembangunan sebenar, kita boleh membuat pilihan berdasarkan keadaan tertentu untuk mencapai hasil yang optimum.

Atas ialah kandungan terperinci php menukar tatasusunan dua dimensi kepada satu dimensi. 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