Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mendapatkan Kekunci Tatasusunan dalam Gelung Foreach dalam PHP

Cara Mendapatkan Kekunci Tatasusunan dalam Gelung Foreach dalam PHP

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-17 17:20:32296semak imbas

How to Retrieve Array Keys within a Foreach Loop in PHP

Dapatkan Kekunci Tatasusunan Semasa Gelung Foreach: PHP

Apabila bekerja dengan tatasusunan dalam PHP, selalunya perlu untuk mendapatkan kedua-dua kunci dan nilai dalam gelung foreach. Fungsi key() menyediakan cara yang mudah untuk mengakses kunci semasa semasa lelaran. Walau bagaimanapun, dalam senario tertentu, ia mungkin tidak menghasilkan hasil yang diingini.

Pertimbangkan kod berikut yang bertujuan untuk menjana jadual HTML daripada tatasusunan sampel:

<code class="php">foreach($samplearr as $item){
  print "<tr\><td>" . key($item) . "</td>\><td>" . $samplearr['value1'] . "</td>\><td>" . $samplearr['value2'] . "</td>\></tr\>";
}</code>

Kod ini salah mengembalikan kunci sebagai "nilai1" dan bukannya kunci sebenar tatasusunan luar (cth., 4722).

Untuk menyelesaikan isu ini, perlu menggunakan kunci tatasusunan sebagai pembolehubah lelaran:

<code class="php">foreach($samplearr as $key => $item){
  print "<tr\><td>" . $key . "</td>\><td>" . $item['value1'] . "</td>\><td>" . $item['value2'] . "</td>\></tr\>";
}</code>

Dengan mengisytiharkan pembolehubah gelung sebagai "$key", anda boleh mengakses terus kekunci tatasusunan luar dalam gelung. Kod ini kini akan menjana jadual HTML yang dijangkakan dengan betul:

<code class="html"><tr\><td>4722</td>\><td>52</td>\><td>46</td>\></tr\>
<tr\><td>4922</td>\><td>22</td>\><td>47</td>\></tr\>
<tr\><td>7522</td>\><td>47</td>\><td>85</td>\></tr\></code>

Atas ialah kandungan terperinci Cara Mendapatkan Kekunci Tatasusunan dalam Gelung Foreach dalam 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