Bagaimana untuk menukar rekod ke dalam tatasusunan dalam PHP

PHPz
Lepaskan: 2023-04-25 17:51:14
asal
705 orang telah melayarinya

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;
}
Salin selepas log masuk

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:

  1. mysqli_fetch_all function

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);
Salin selepas log masuk

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.

  1. fungsi fetchAll pdo

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);
Salin selepas log masuk

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:

  1. Ekstrak lajur daripada tatasusunan dua dimensi untuk membentuk tatasusunan satu dimensi
$arr = array(
    array('id' => 1, 'name' => '张三'),
    array('id' => 2, 'name' => '李四'),
    array('id' => 3, 'name' => '王五')
);
// 提取出id列形成一维数组
$ids = array_column($arr, 'id');
print_r($ids);
Salin selepas log masuk

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.

  1. Tukar rentetan kepada tatasusunan
$str = 'a,b,c,d,e';
// 将$str字符串按,分割成数组
$arr = explode(',', $str);
print_r($arr);
Salin selepas log masuk

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.

  1. Tukar tatasusunan kepada rentetan
$arr = array('a', 'b', 'c', 'd', 'e');
// 将$arr数组合并成一个字符串,元素之间用,分隔
$str = implode(',', $arr);
echo $str;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!