Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada terdapat tatasusunan dimensi tertentu dalam tatasusunan dua dimensi dalam PHP

Bagaimana untuk menentukan sama ada terdapat tatasusunan dimensi tertentu dalam tatasusunan dua dimensi dalam PHP

PHPz
PHPzasal
2023-04-12 09:19:07653semak imbas

Dalam PHP, memproses tatasusunan berbilang dimensi ialah salah satu tugas biasa. Untuk tatasusunan dua dimensi, kadangkala kita perlu mencari tatasusunan satu dimensi yang mengandungi elemen tertentu. Jadi bagaimana untuk mencapainya?

Kaedah 1: Gunakan fungsi in_array

Fungsi in_array terbina dalam PHP boleh mencari sama ada tatasusunan satu dimensi mengandungi elemen tertentu. Jadi untuk tatasusunan dua dimensi, kita boleh menggelung tatasusunan satu dimensi dan memanggil fungsi in_array untuk mencari masing-masing Jika ditemui, ia akan kembali benar, jika tidak ia akan kembali palsu.

Berikut ialah kod sampel:

function searchSubArrayInArray($needle, $haystack) {
  foreach ($haystack as $subArray) {
    if (in_array($needle, $subArray)) {
      return true;
    }
  }
  return false;
}

Dalam contoh di atas, $needle mewakili tatasusunan satu dimensi untuk dicari dan $haystack mewakili tatasusunan dua dimensi yang akan dicari. Fungsi ini mengembalikan nilai jenis bool yang menunjukkan sama ada ia wujud.

Perlu diingatkan bahawa fungsi in_array adalah sensitif huruf besar-besaran, jadi anda perlu memberi perhatian kepada kes tersebut apabila menggunakannya.

Kaedah 2: Gunakan fungsi array_search

Selain fungsi in_array, PHP juga menyediakan cara lain untuk mencari elemen: fungsi array_search. Fungsi ini mencari tatasusunan untuk nilai tertentu dan, jika ditemui, mengembalikan kunci untuk nilai tersebut (iaitu tatasusunan satu dimensi). Mengembalikan palsu jika tidak dijumpai.

Berikut ialah kod sampel:

function searchSubArrayInArray($needle, $haystack) {
  foreach ($haystack as $key => $subArray) {
    if (array_search($needle, $subArray) !== false) {
      return $key;
    }
  }
  return false;
}

Dalam contoh di atas, $needle mewakili tatasusunan satu dimensi untuk dicari dan $haystack mewakili tatasusunan dua dimensi yang akan dicari. Fungsi ini mengembalikan nilai jenis int (iaitu, kunci tatasusunan satu dimensi yang mengandungi jarum dalam tatasusunan dua dimensi), atau palsu.

Perlu diambil perhatian bahawa jika berbilang tatasusunan satu dimensi mengandungi elemen jarum, fungsi carian_tatasusunan hanya akan mengembalikan kunci padanan pertama.

Ringkasan

Di atas ialah dua kaedah biasa untuk menentukan sama ada tatasusunan dua dimensi mengandungi tatasusunan satu dimensi. Jika ia perlu digunakan dalam projek sebenar, kaedah yang berbeza perlu dipilih mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada terdapat tatasusunan dimensi tertentu dalam tatasusunan dua dimensi 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