Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nama kunci daripada tatasusunan dua dimensi php

Bagaimana untuk mengalih keluar nama kunci daripada tatasusunan dua dimensi php

PHPz
PHPzasal
2023-04-23 10:13:40502semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan rangkaian Ia adalah sumber terbuka, percuma dan cekap. Dalam PHP, tatasusunan ialah jenis data yang biasa digunakan, dan tatasusunan dua dimensi digunakan secara meluas dan boleh digunakan untuk menyimpan data jadual, data hubungan pelbagai dimensi, dsb. Walau bagaimanapun, dalam penggunaan sebenar, kita kadangkala perlu mengalih keluar nama utama tatasusunan dua dimensi dan hanya mengekalkan nilai Dalam kes ini, kita perlu menggunakan beberapa fungsi dan teknik khas untuk mencapai ini. Artikel ini akan memperkenalkan cara untuk mengalih keluar nama kunci tatasusunan dua dimensi dalam PHP supaya ia boleh digunakan dengan lebih baik dalam pembangunan sebenar.

  1. Menggunakan fungsi array_values ​​

Dalam PHP, anda boleh menggunakan fungsi array_values ​​untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi sambil mengekalkan nilai dalam tatasusunan dua dimensi. Sintaks fungsi ini adalah seperti berikut:

array array_values ( array $array )

di mana $array mewakili tatasusunan dua dimensi yang hendak ditukar. Fungsi ini mengembalikan tatasusunan satu dimensi yang mengandungi semua nilai dalam tatasusunan dua dimensi. Contohnya, untuk tatasusunan dua dimensi berikut:

$array = array (
    array('a' => 'apple', 'b' => 'banana'),
    array('c' => 'cat', 'd' => 'dog')
);

anda boleh menggunakan fungsi array_values ​​​​untuk menukarnya kepada tatasusunan satu dimensi:

$array = array_values($array);

Yang ditukar tatasusunan -dimensi ialah:

array(
    0 => array('a' => 'apple', 'b' => 'banana'),
    1 => array('c' => 'cat', 'd' => 'dog')
)

Seperti yang anda lihat, fungsi array_values ​​hanya menukar nama kunci tatasusunan kepada indeks berangka tanpa mengalih keluar nama kunci.

Untuk mengalih keluar nama kunci, anda boleh menggunakan fungsi array_values ​​sekali lagi:

$array = array_values(array_map('array_values', $array));

Fungsi peta_susun boleh menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan fungsi di sini ialah array_values, dan setiap Elemen ditukar kepada tatasusunan satu dimensi tanpa kunci. Gunakan fungsi array_values ​​untuk menukar semua tatasusunan satu dimensi kepada tatasusunan tanpa kunci sekali lagi, dan hasil akhir ialah tatasusunan dua dimensi tanpa kunci.

  1. Gunakan pembolehubah rujukan

Dalam PHP, anda boleh mengubah suai secara langsung nilai tatasusunan dengan menggunakan pembolehubah rujukan tanpa menggunakan sebarang fungsi. Walau bagaimanapun, memandangkan pembolehubah rujukan mempunyai kesan sampingan tertentu dan tidak mudah diselenggara dan nyahpepijat, ia tidak disyorkan untuk digunakan dalam pembangunan sebenar.

Berikut ialah contoh menggunakan pembolehubah rujukan untuk mengalih keluar nama kunci:

foreach ($array as &$value) {
    $value = array_values($value);
}
unset($value);

Gunakan foreach untuk melintasi setiap elemen dalam tatasusunan dua dimensi, dan gunakan pembolehubah rujukan $ nilai untuk menunjuk kepada elemen semasa. Kemudian gunakan fungsi array_values ​​untuk mengalih keluar nama kunci elemen semasa dan menetapkan hasilnya kepada $value, dengan itu mengubah suai nilai dalam tatasusunan dua dimensi. Akhir sekali, gunakan fungsi unset untuk melepaskan pembolehubah rujukan.

  1. Gunakan fungsi json_decode

Dalam PHP, anda boleh menggunakan fungsi json_decode untuk menyahkod rentetan berformat JSON ke dalam tatasusunan. Sama seperti fungsi array_values, fungsi json_decode juga boleh mengalih keluar nama kunci tatasusunan dua dimensi. Langkah-langkah khusus adalah seperti berikut:

Mengekod tatasusunan dua dimensi ke dalam rentetan dalam format JSON:

$json = json_encode($array);

Nyahkod rentetan dalam format JSON ke dalam tatasusunan:

$array = json_decode($json, true);

Dalam Parameter kedua ditetapkan kepada benar, yang bermaksud objek JSON yang dinyahkod ditukar kepada tatasusunan bersekutu (iaitu tatasusunan yang subskripnya ialah rentetan). Dengan cara ini, nama utama tatasusunan dua dimensi dialih keluar.

Perlu diambil perhatian bahawa menggunakan fungsi json_decode boleh menyebabkan kegagalan penyahkodan disebabkan oleh jenis data yang tidak konsisten, format JSON yang tidak sah, ralat memori, dsb. Oleh itu, apabila menggunakan kaedah ini, adalah perlu untuk menilai keputusan penyahkodan untuk memastikan ketepatan program.

  1. Gunakan gelung foreach

Jika anda tidak mahu menggunakan fungsi dan pembolehubah rujukan, anda juga boleh menggunakan gelung foreach untuk mengalih keluar nama kunci kedua-dua tatasusunan -dimensi. Langkah-langkah khusus adalah seperti berikut:

$newArray = array();
foreach ($array as $value) {
    $newArray[] = array_values($value);
}
$array = $newArray;

Dalam gelung foreach, gunakan fungsi array_values ​​untuk menukar setiap elemen kepada tatasusunan tanpa nama kunci dan tambahkan hasilnya pada tatasusunan baharu $newArray. Akhir sekali, tetapkan $newArray kepada $array untuk melengkapkan operasi tatasusunan dua dimensi.

Perlu diambil perhatian bahawa apabila memproses sejumlah besar data, menggunakan gelung foreach boleh menyebabkan atur cara berjalan perlahan atau ranap kerana masalah seperti memori yang tidak mencukupi. Oleh itu, dalam pembangunan sebenar, adalah perlu untuk memilih kaedah secara fleksibel mengikut situasi.

Kesimpulan

Mengalih keluar nama kunci tatasusunan dua dimensi dalam PHP ialah operasi biasa Artikel ini memperkenalkan empat kaedah pelaksanaan termasuk array_values, array_map, json_decode, dll. Dalam aplikasi praktikal, kaedah perlu dipilih mengikut situasi tertentu, dan perhatian harus diberikan untuk menangani isu seperti jenis data yang tidak konsisten dan memori yang tidak mencukupi untuk memastikan ketepatan dan kestabilan program.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nama kunci daripada tatasusunan dua dimensi php. 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