Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menentukan sama ada nilai kunci yang ditentukan wujud dalam tatasusunan dua dimensi dalam PHP

Bagaimana untuk menentukan sama ada nilai kunci yang ditentukan wujud dalam tatasusunan dua dimensi dalam PHP

PHPz
PHPzasal
2023-04-20 13:54:231010semak imbas

Untuk tatasusunan dua dimensi PHP, kita selalunya perlu menentukan sama ada pasangan nilai kunci wujud dalam tatasusunan Artikel ini akan memperkenalkan beberapa kaedah biasa.

  1. Gunakan fungsi in_array

Fungsi in_array boleh digunakan untuk menentukan sama ada nilai wujud dalam tatasusunan, tetapi ia hanya boleh menentukan sama ada nilai wujud dalam satu tatasusunan -dimensi dan tidak dapat menentukan sama ada ia dalam tatasusunan dua dimensi. Kita boleh menggunakan fungsi in_array_recursive variannya untuk menentukan secara rekursif sama ada pasangan nilai kunci dalam tatasusunan dua dimensi wujud.

Kod sampel:

function in_array_recursive($needle, $haystack, $strict = false)
{
    foreach ($haystack as $value) {
        if ((!$strict && $needle == $value) || ($strict && $needle === $value)) {
            return true;
        }
        if (is_array($value) && in_array_recursive($needle, $value, $strict)) {
            return true;
        }
    }
    return false;
}

$array = array(
    array('id' => 1, 'name' => '张三'),
    array('id' => 2, 'name' => '李四'),
    array('id' => 3, 'name' => '王五'),
);

if (in_array_recursive(array('id' => 1, 'name' => '张三'), $array)) {
    echo '存在';
} else {
    echo '不存在';
}
  1. Gunakan fungsi array_column

fungsi array_column boleh mengekstrak lajur dalam tatasusunan dua dimensi sebagai yang baharu- Tatasusunan dimensi, kita boleh menggunakannya untuk menentukan sama ada kunci wujud dalam tatasusunan.

Kod sampel:

$array = array(
    array('id' => 1, 'name' => '张三'),
    array('id' => 2, 'name' => '李四'),
    array('id' => 3, 'name' => '王五'),
);

$ids = array_column($array, 'id');

if (in_array(1, $ids)) {
    echo '存在';
} else {
    echo '不存在';
}
  1. Gunakan fungsi array_search

fungsi array_search boleh mencari lokasi nilai kunci dalam tatasusunan, jika dijumpai Mengembalikan indeks kunci ini, jika tidak mengembalikan palsu. Walau bagaimanapun, ia hanya boleh mencari tatasusunan satu dimensi dan tidak dapat mencari pasangan nilai kunci dalam tatasusunan dua dimensi. Kita boleh menggunakan parameter ketiganya untuk menentukan nilai kunci carian.

Kod sampel:

$array = array(
    array('id' => 1, 'name' => '张三'),
    array('id' => 2, 'name' => '李四'),
    array('id' => 3, 'name' => '王五'),
);

foreach ($array as $key => $value) {
    if (array_search(1, $value)) {
        echo '存在';
        break;
    } else {
        echo '不存在';
    }
}

Di atas ialah tiga kaedah penilaian tatasusunan dua dimensi yang biasa Anda boleh memilih kaedah yang sesuai mengikut situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nilai kunci yang ditentukan wujud 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