Rumah > pembangunan bahagian belakang > masalah PHP > Apakah yang perlu saya lakukan jika PHP tidak memaparkan kunci tatasusunan dua dimensi?

Apakah yang perlu saya lakukan jika PHP tidak memaparkan kunci tatasusunan dua dimensi?

PHPz
Lepaskan: 2023-04-12 10:08:33
asal
507 orang telah melayarinya

Dalam pembangunan PHP, tatasusunan ialah jenis data yang paling biasa Kami selalunya perlu mengendalikannya, termasuk mendapatkan nilai tatasusunan, mengubahsuai, menambah, memadam dan operasi lain. Dalam operasi tatasusunan, kunci dan nilai adalah konsep yang sangat penting, kerana kami menggunakan kunci untuk mencari dan mengendalikan data dalam tatasusunan. Tetapi kadangkala kami mendapati bahawa program kami tidak mengeluarkan kunci tatasusunan seperti yang kami jangkakan.

Penerangan masalah:

Dalam PHP, apabila mengeluarkan kunci tatasusunan dua dimensi, kunci itu mungkin tidak dipaparkan secara normal. Berikut ialah contoh mudah:

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
foreach($arr as $key => $value){
   echo $key."</br>";
}
?>
Salin selepas log masuk

Keluaran yang dijangkakan ialah:

0
1
Salin selepas log masuk
Salin selepas log masuk

Tetapi output sebenar ialah:

name
age
name
age
Salin selepas log masuk

Ini menunjukkan bahawa arus program tidak Kunci tatasusunan tidak dikeluarkan seperti yang diharapkan. Jadi apakah punca masalah ini?

Punca masalah:

Fungsi kekunci tatasusunan adalah untuk menandakan nilai yang sepadan, tetapi sebenarnya kunci dalam tatasusunan dua dimensi bukanlah urutan bermula dari 0, tetapi seutas tali. Contohnya, dalam tatasusunan $arr di atas, kekunci 0 dan 1 ialah tatasusunan berikut:

array('name'=>'Jack', 'age'=>20)

array('name'=>'Lucy','age'=>18)
Salin selepas log masuk

dan "nama" dan "umur" keluaran ialah kunci rentetan tatasusunan dua dimensi.

Penyelesaian Masalah:

Jadi bagaimana kita boleh mengeluarkan kunci digital yang kita inginkan? Dua penyelesaian disyorkan di sini:

Penyelesaian 1: Gunakan untuk gelung ke kunci keluaran

Menggunakan untuk gelung ke kunci keluaran ialah kaedah yang mudah dan langsung Kami boleh mengeluarkan kunci yang sepadan melalui gelung kunci. Contohnya:

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
for($i=0; $i<count($arr); $i++){
   echo $i."</br>";
}
?>
Salin selepas log masuk

Ini akan mengeluarkan kekunci angka yang diingini dengan sempurna, dan hasilnya ialah:

0
1
Salin selepas log masuk
Salin selepas log masuk

Penyelesaian 2: Gunakan fungsi array_keys

array_keys function Ia adalah fungsi terbina dalam PHP Ia boleh mengembalikan semua nilai kunci dalam tatasusunan Dengan bilangan fungsi panjang tatasusunan(), kita boleh mengeluarkan kunci angka dengan mudah. Contohnya:

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
print_r(array_keys($arr))."</br>";
 
for($i=0; $i<count($arr); $i++){
   echo $i."</br>";
}
?>
Salin selepas log masuk

Dengan cara ini kita juga boleh mengeluarkan hasil yang dijangkakan "0, 1".

Ringkasan:

Menggunakan tatasusunan dalam PHP ialah operasi yang sangat biasa Apabila mengendalikan tatasusunan, kita perlu memahami peranan dan hubungan kunci dan nilai tatasusunan. Apabila kita mendapat keputusan yang tidak selaras dengan jangkaan, jangan risau dan fikir lebih lanjut tentang menganalisis penyelesaian kepada masalah Ini juga merupakan peluang yang baik untuk meningkatkan kemahiran pengaturcaraan dan pemikiran logik anda.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika PHP tidak memaparkan kunci tatasusunan dua dimensi?. 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