Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
PHPzasal
2023-04-12 09:21:58478semak imbas

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>";
}
?>

Keluaran yang dijangkakan ialah:

0
1

Tetapi output sebenar ialah:

name
age
name
age

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)

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>";
}
?>

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

0
1

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>";
}
?>

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!

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