Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar rekod ke dalam tatasusunan dalam PHP
Dalam pembangunan PHP, kita selalunya perlu menukar rekod kepada tatasusunan untuk memudahkan pembacaan dan pemprosesan data. Bagaimana untuk menukar rekod ke dalam tatasusunan dalam PHP? Artikel ini akan memperkenalkan beberapa kaedah untuk rujukan anda.
1. Gunakan gelung untuk menukar rekod kepada tatasusunan
Apabila menggunakan PHP untuk operasi pangkalan data, hasil pertanyaan biasanya merupakan objek set rekod, dan setiap rekod mengandungi berbilang nilai medan Kami boleh menggelung melalui Iterate atas objek set rekod, tukar setiap rekod kepada tatasusunan, dan tambahkannya pada tatasusunan yang terhasil. Kod khusus adalah seperti berikut:
// 查询语句 $sql = "SELECT * FROM users WHERE status=1"; // 执行查询 $result = mysqli_query($conn, $sql); // 定义结果数组 $data = array(); // 遍历记录集对象,将每条记录转换成数组 while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; }
Dalam kod di atas, kami mula-mula mentakrifkan pernyataan pertanyaan dan melaksanakan pertanyaan melalui fungsi mysqli_query. Kemudian tatasusunan hasil kosong $data ditakrifkan, dan kemudian objek set rekod dilalui melalui gelung sementara, setiap rekod ditukar menjadi tatasusunan dan ditambah pada tatasusunan hasil melalui $data[] = $baris. Akhirnya kita mendapat tatasusunan $data, di mana setiap elemen ialah tatasusunan yang ditukar daripada rekod.
2. Gunakan fungsi yang disediakan oleh PHP untuk menukar rekod kepada tatasusunan
Selain menulis kod penukaran anda sendiri, PHP juga menyediakan beberapa fungsi berkuasa yang boleh menukar rekod kepada tatasusunan dengan mudah. Berikut adalah fungsi yang biasa digunakan:
Fungsi mysqli_fetch_all boleh menukar keseluruhan rekod yang ditetapkan kepada tatasusunan dua dimensi pada satu masa. Kod khusus adalah seperti berikut:
// 查询语句 $sql = "SELECT * FROM users WHERE status=1"; // 执行查询 $result = mysqli_query($conn, $sql); // 将整个记录集转换成二维数组 $data = mysqli_fetch_all($result, MYSQLI_ASSOC);
Dalam kod di atas, kami memanggil fungsi mysqli_fetch_all dan menentukan parameter kedua sebagai MYSQLI_ASSOC, yang bermaksud mengembalikan hasil dalam bentuk tatasusunan bersekutu. Akhir sekali, kita mendapat tatasusunan $data, di mana setiap elemen ialah tatasusunan yang ditukar daripada rekod.
Jika anda menggunakan PDO untuk mengendalikan pangkalan data, anda boleh menggunakan fungsi fetchAll objek PDOStatement untuk menukar rekod menjadi tatasusunan. Kod khusus adalah seperti berikut:
// 查询语句 $sql = "SELECT * FROM users WHERE status=1"; // 执行查询 $stmt = $pdo->query($sql); // 将整个记录集转换成数组 $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
Dalam kod di atas, kami mula-mula mentakrifkan pernyataan pertanyaan dan melaksanakan pertanyaan melalui fungsi $pdo->query. Kemudian panggil fungsi $stmt->fetchAll dan tentukan parameter sebagai PDO::FETCH_ASSOC, yang bermaksud mengembalikan hasil dalam bentuk tatasusunan bersekutu. Akhir sekali, kita mendapat tatasusunan $data, di mana setiap elemen ialah tatasusunan yang ditukar daripada rekod.
3. Gunakan PHP untuk menukar tatasusunan
Selain menukar rekod kepada tatasusunan, anda juga boleh menukar tatasusunan. PHP menyediakan pelbagai fungsi untuk menukar tatasusunan Sebagai contoh, fungsi meletup boleh menukar tatasusunan kepada rentetan, fungsi meletup boleh menukar rentetan kepada tatasusunan, dan fungsi lajur_tatasusunan boleh mengekstrak lajur daripada tatasusunan dua dimensi. membentuk tatasusunan satu dimensi tunggu. Berikut ialah beberapa contoh:
$arr = array( array('id' => 1, 'name' => '张三'), array('id' => 2, 'name' => '李四'), array('id' => 3, 'name' => '王五') ); // 提取出id列形成一维数组 $ids = array_column($arr, 'id'); print_r($ids);
Dalam kod di atas, kami mentakrifkan tatasusunan dua dimensi Tatasusunan $arr mengandungi beberapa tatasusunan, setiap tatasusunan mengandungi dua pasangan nilai kunci, id dan nama. Kemudian gunakan fungsi array_column, menentukan parameter kedua sebagai 'id', yang bermaksud untuk mengekstrak nilai pasangan nilai kunci 'id' dalam semua sub-array dalam $arr untuk membentuk tatasusunan satu dimensi $ids.
$str = 'a,b,c,d,e'; // 将$str字符串按,分割成数组 $arr = explode(',', $str); print_r($arr);
Dalam kod di atas, kami mentakrifkan rentetan $str, yang mengandungi beberapa elemen yang dipisahkan dengan koma . Kemudian gunakan fungsi explode untuk memisahkan rentetan $str kepada tatasusunan $arr dengan koma.
$arr = array('a', 'b', 'c', 'd', 'e'); // 将$arr数组合并成一个字符串,元素之间用,分隔 $str = implode(',', $arr); echo $str;
Dalam kod di atas, kami mentakrifkan tatasusunan $arr, yang mengandungi beberapa elemen. Kemudian gunakan fungsi implode untuk menggabungkan elemen dalam tatasusunan $arr ke dalam rentetan $str, dengan koma memisahkan elemen.
4. Ringkasan
Menukar rekod kepada tatasusunan adalah perkara yang sangat biasa dalam PHP. Artikel ini memperkenalkan beberapa kaedah, termasuk penukaran gelung, penukaran fungsi, penukaran tatasusunan, dsb. Kaedah yang berbeza mempunyai kelebihan dan kekurangan yang berbeza, dan boleh dipilih mengikut senario tertentu.
Atas ialah kandungan terperinci Bagaimana untuk menukar rekod ke dalam tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!