Dalam PHP, tatasusunan ialah jenis data yang sangat biasa digunakan. Saya percaya bahawa banyak pembangun PHP akan menggunakan tatasusunan untuk menyimpan, memproses dan melintasi data. Dalam pembangunan sebenar, kadangkala kita perlu menukar tatasusunan berbilang dimensi kepada tatasusunan satu dimensi dan mengekalkan nama kunci. Operasi seperti ini agak biasa dalam pembangunan sebenar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dan mengekalkan nama kunci.
1. Apakah tatasusunan PHP?
Sebelum kita mula memperkenalkan cara menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi, kita perlu memahami apa itu tatasusunan dalam PHP. Dalam PHP, tatasusunan boleh digunakan untuk menyimpan satu siri nilai. Nilai ini boleh terdiri daripada sebarang jenis, seperti integer, terapung, rentetan, objek, dll. Setiap nilai dalam tatasusunan dikaitkan dengan kunci, yang boleh menjadi rentetan, integer, dsb. Berbanding dengan bahasa lain, tatasusunan PHP adalah sangat fleksibel dan boleh memenuhi pelbagai keperluan.
Terdapat dua cara untuk menentukan tatasusunan dalam PHP. Salah satunya ialah menggunakan []" untuk mentakrif, contohnya:
$arr1 = [1, 2, 3]; $arr2 = ['name' => 'xiaoming', 'age' => 18];
Cara lain ialah menggunakan tatasusunan() untuk mentakrif, contohnya:
$arr3 = array(4, 5, 6); $arr4 = array('name' => 'xiaohuang', 'age' => 20);
Struktur tatasusunan boleh dilihat melalui fungsi var_dump, contohnya :
var_dump($arr1); var_dump($arr2); var_dump($arr3); var_dump($arr4);
Hasil keluaran yang diperoleh ialah:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } array(2) { ["name"]=> string(8) "xiaoming" ["age"]=> int(18) } array(3) { [0]=> int(4) [1]=> int(5) [2]=> int(6) } array(2) { ["name"]=> string(8) "xiaohuang" ["age"]=> int(20) }
Seperti yang dapat dilihat daripada hasil keluaran, $arr1 dan $arr3 ialah tatasusunan yang diindeks oleh nombor, dan $ arr2 dan $arr4 ialah tatasusunan bersekutu Seterusnya kita akan memperkenalkan cara menukar tatasusunan dua dimensi dalam tatasusunan bersekutu kepada tatasusunan satu dimensi dan mengekalkan nama kunci 2. Menukar tatasusunan dua dimensi
Kami menganggap tatasusunan dua dimensi:
$students = array( array('name' => 'xiaoming', 'age' => 18, 'sex' => 'male'), array('name' => 'xiaohong', 'age' => 19, 'sex' => 'female'), array('name' => 'xiaozhang', 'age' => 20, 'sex' => 'male') );
Tatasusunan dua dimensi ini mengandungi tiga elemen, setiap elemen adalah maklumat pelajar termasuk nama, umur dan jantina kita perlu menukar tatasusunan dua dimensi ini kepada tatasusunan satu dimensi
Anda boleh menggunakan pernyataan foreach untuk melaksanakan traversal tatasusunan, contohnya:
$newArr = array(); foreach($students as $student) { foreach($student as $key => $value) { $newArr[$key][] = $value; } }
Dalam kod di atas, yang pertama. foreach gelung Lelaran pada setiap elemen dalam tatasusunan $pelajar, iaitu maklumat setiap pelajar Gelung foreach kedua merentasi pasangan nilai kunci dalam setiap maklumat pelajar, iaitu nama pelajar, umur dan jantina dalam setiap. lelaran. , tambahkan pasangan nilai kunci yang dilalui pada tatasusunan satu dimensi baharu Struktur tatasusunan $newArr yang akhirnya diperolehi adalah seperti berikut:
array(3) { ["name"]=> array(3) { [0]=> string(8) "xiaoming" [1]=> string(8) "xiaohong" [2]=> string(9) "xiaozhang" } ["age"]=> array(3) { [0]=> int(18) [1]=> int(19) [2]=> int(20) } ["sex"]=> array(3) { [0]=> string(4) "male" [1]=> string(6) "female" [2]=> string(4) "male" } }
Seperti yang anda lihat, setiap pasangan nilai kunci dalam Tatasusunan $newArr masih dikekalkan Nama kunci dalam tatasusunan dua dimensi yang asal dengan cara ini, jika anda perlu melakukan operasi berdasarkan nama kunci tertentu, anda boleh melakukannya dengan mudah
3 . Kekalkan maksud nama kunci
Mengapa kita perlu mengekalkan nama kunci Nama kunci digunakan untuk mengenal pasti nilai tertentu Kelebihan mengekalkan nama kunci ialah anda boleh menggunakan nama kunci secara langsung akses nilai tertentu tanpa gelung untuk mencari nilai yang diperlukan Selain itu, jika nama kunci dikekalkan, pemprosesan data boleh menjadi lebih fleksibel dan operasi seperti penambahan, pemadaman, pengubahsuaian dan pertanyaan boleh dilakukan mengikut keperluan
<. 🎜>Sebagai contoh, jika kita perlu mencari dalam tatasusunan $newArr di atas Untuk jantina pelajar berumur 18 tahun, kod tersebut boleh ditulis sebagai:echo $newArr['sex'][array_search(18, $newArr['age'])];
Atas ialah kandungan terperinci PHP tatasusunan dua dimensi kepada tatasusunan satu dimensi mengekalkan nama kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!