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

Bagaimana untuk menentukan sama ada nilai tatasusunan dua dimensi diulang dalam PHP

PHPz
PHPzasal
2023-04-25 09:04:201387semak imbas

Dalam pembangunan PHP, selalunya diperlukan untuk mengendalikan tatasusunan, yang mungkin melibatkan penentuan sama ada nilai dalam tatasusunan dua dimensi diulang. Sebagai contoh, semasa menghantar borang, anda perlu menentukan sama ada nama pengguna telah didaftarkan. Berikut ialah kaedah untuk menentukan sama ada nilai tatasusunan dua dimensi diulang.

Kaedah 1: Gunakan rentas gelung berganda

Kaedah ini agak mudah, iaitu menggunakan gelung berganda untuk merentasi tatasusunan dua dimensi dan bandingkan setiap nilai satu demi satu untuk melihat sama ada ia diulang. Kodnya adalah seperti berikut:

function is_duplicate($arr, $value) {
    foreach ($arr as $sub_arr) {
        foreach ($sub_arr as $sub_value) {
            if ($sub_value == $value) {
                return true;
            }
        }
    }
    return false;
}

Antaranya, $arr ialah tatasusunan dua dimensi dan $value ialah nilai yang akan dinilai. Mula-mula melintasi tatasusunan satu dimensi, kemudian melintasi tatasusunan dua dimensi, dan kembalikan benar jika nilai yang sama ditemui. Jika tidak, false dikembalikan selepas merentasi keseluruhan tatasusunan.

Kaedah 2: Gunakan fungsi in_array()

Fungsi in_array() boleh menentukan sama ada nilai wujud dalam tatasusunan Kita boleh menggunakan fungsi ini untuk menentukan nilai dalam dua dimensi tatasusunan. Kodnya adalah seperti berikut:

function is_duplicate($arr, $value) {
    foreach ($arr as $sub_arr) {
        if (in_array($value, $sub_arr)) {
            return true;
        }
    }
    return false;
}

Antaranya, $arr ialah tatasusunan dua dimensi dan $value ialah nilai yang akan dinilai. Mula-mula merentasi tatasusunan satu dimensi, dan kemudian gunakan fungsi in_array() untuk menentukan sama ada nilai itu wujud dalam tatasusunan dua dimensi semasa Jika ia wujud, ia mengembalikan benar. Jika tidak, false dikembalikan selepas merentasi keseluruhan tatasusunan.

Kaedah 3: Gunakan fungsi array_column()

fungsi array_column() boleh mengeluarkan lajur nilai ​​​​dari tatasusunan dua dimensi Kita boleh menggunakan fungsi ini untuk menentukan sama ada nilai dalam tatasusunan dua dimensi diulang. Kodnya adalah seperti berikut:

function is_duplicate($arr, $value) {
    $column = array_column($arr, 0);
    return in_array($value, $column);
}

Antaranya, $arr ialah tatasusunan dua dimensi dan $value ialah nilai yang akan dinilai. Gunakan fungsi array_column() untuk mendapatkan nilai lajur pertama dalam tatasusunan dua dimensi, dan kemudian gunakan fungsi in_array() untuk menentukan sama ada nilai itu berada dalam lajur yang diambil Jika ia wujud, ia akan mengembalikan benar. Jika tidak, pulangkan palsu.

Ketiga-tiga kaedah di atas semuanya boleh menentukan sama ada nilai tertentu dalam tatasusunan dua dimensi diulang kaedah yang manakah boleh dipilih mengikut situasi sebenar Sebagai contoh, apabila jumlah data adalah besar. kecekapan traversal gelung berganda adalah rendah Anda boleh memilih untuk menggunakan fungsi array_column() dan kaedah lain.

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