Rumah > Artikel > pembangunan bahagian belakang > Tukar tatasusunan satu dimensi kepada dua dimensi dalam php
PHP ialah bahasa skrip yang digunakan secara meluas yang boleh menyelesaikan tugas automasi, pembangunan tapak web dinamik, dsb. Tatasusunan ialah jenis data yang sangat biasa digunakan dalam tatasusunan satu dimensi dan tatasusunan dua dimensi adalah perkara biasa. Tetapi apabila memproses data, kita mungkin perlu menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar.
1. Apakah tatasusunan satu dimensi dan tatasusunan dua dimensi?
Pertama, mari kita perkenalkan konsep tatasusunan.
Tatasusunan ialah struktur data yang menyimpan data Satu atau lebih pembolehubah dikenal pasti mengikut nama. Dalam PHP, tatasusunan dibahagikan kepada dua jenis: tatasusunan satu dimensi dan tatasusunan berbilang dimensi.
Tatasusunan satu dimensi ialah pembolehubah yang menyimpan set data berkaitan yang boleh diakses menggunakan indeks berangka (bermula dari 0). Contohnya:
$fruits = array( "epal", "pisang", "ceri" );
Ini ialah tatasusunan satu dimensi yang mengandungi tiga elemen. Kita boleh mendapatkan elemen tatasusunan melalui kod berikut:
echo $fruits[0]; // Output: epal
echo $fruits[1]; // Output: banana
echo $fruits [ 2]; // Output: ceri
Susun atur dua dimensi merujuk kepada tatasusunan yang terdiri daripada tatasusunan berbilang satu dimensi. Secara amnya, tatasusunan dua dimensi adalah lebih mudah semasa memproses data, dan satu set data boleh disimpan dalam tatasusunan. Contohnya:
$students = array(
array("Tom",18,"lelaki"),
array("Jerry",20,"female")
);
Antaranya, setiap tatasusunan satu dimensi mewakili maklumat pelajar, termasuk nama, umur dan jantina. Kami boleh mendapatkan maklumat mana-mana pelajar melalui kod berikut:
echo $students0; // Output: Tom
echo $students1; // Output: perempuan
2. Bagaimana untuk Tukar tatasusunan satu dimensi kepada tatasusunan dua dimensi?
Dalam sesetengah kes, kita perlu menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi untuk pemprosesan data seterusnya. Kaedah khusus adalah seperti berikut:
array_chunk() fungsi boleh membahagikan tatasusunan satu dimensi kepada beberapa tatasusunan kecil dengan panjang tertentu dan kembalikan Tatasusunan dua dimensi. Contohnya:
$data = array("a", "b", "c", "d", "e", "f");
$result = array_chunk($data, 2 );
print_r($result);
Hasil output ialah:
Array
(
[0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e [1] => f )
)
di mana, setiap sub Tatasusunan mengandungi dua elemen, iaitu tatasusunan satu dimensi asal dibahagikan kepada beberapa tatasusunan dua dimensi.
Fungsi array_map() boleh menggunakan fungsi panggil balik untuk memproses setiap elemen tatasusunan dan mengembalikan tatasusunan baharu. Kita boleh menggunakan fungsi array_map() untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi unsur tatasusunan satu dimensi.
Contohnya:
$data = array("a", "b", "c", "d", "e", "f");
$result = array_map(function($value) { return array($value); }, $data);
print_r($result);
Hasil output ialah:
Array
(
[0] => Array ( [0] => a ) [1] => Array ( [0] => b ) [2] => Array ( [0] => c ) [3] => Array ( [0] => d ) [4] => Array ( [0] => e ) [5] => Array ( [0] => f )
)
Di sini kami menggunakan fungsi tanpa nama untuk membalut setiap elemen tatasusunan satu dimensi dalam tatasusunan baharu. Dengan cara ini, kita mendapat tatasusunan dua dimensi yang mengandungi elemen tatasusunan satu dimensi.
3. Ringkasan
Artikel ini memperkenalkan tatasusunan satu dimensi dan tatasusunan dua dimensi dalam PHP, dan cara menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi. Kita boleh menggunakan fungsi array_chunk() atau fungsi array_map() untuk mencapai fungsi ini. Dalam pembangunan sebenar, kaedah yang sesuai dipilih untuk penukaran mengikut keperluan tertentu.
Atas ialah kandungan terperinci Tukar tatasusunan satu dimensi kepada dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!