Rumah pembangunan bahagian belakang masalah PHP PHP mencari subskrip tatasusunan integer

PHP mencari subskrip tatasusunan integer

May 19, 2023 am 09:45 AM

Dalam PHP, kita selalunya perlu melakukan beberapa operasi pada tatasusunan, seperti mencari subskrip elemen dalam tatasusunan. Jika elemen dalam tatasusunan semuanya unik, kita boleh menggunakan fungsi array_search() untuk mencari indeks elemen tersebut. Tetapi jika terdapat elemen yang sama dalam tatasusunan, fungsi itu akan mengembalikan hasil yang salah kerana ia hanya akan mengembalikan indeks elemen padanan pertama. Dalam kes ini, kita perlu menggunakan kaedah lain untuk mencari subskrip elemen tatasusunan.

Di bawah saya akan berkongsi beberapa kaedah untuk mencari subskrip tatasusunan integer.

Kaedah 1: Gunakan fungsi in_array()

Fungsi in_array() boleh menyemak sama ada nilai wujud dalam tatasusunan, dan mengembalikan benar jika wujud, jika tidak ia mengembalikan palsu. Sudah tentu, kita boleh menggunakan fungsi ini untuk mencari subskrip elemen dalam tatasusunan, seperti yang ditunjukkan di bawah:

$array = array(1, 2, 3, 4, 5);
$key = array_search(3, $array);
if ($key !== false) {
    echo "3 的下标是:$key";
} else {
    echo "数组中不存在 3";
}
Salin selepas log masuk

Hasil keluaran:

3 的下标是:2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Walau bagaimanapun, kaedah ini hanya terpakai kepada elemen dalam tatasusunan Satu-satunya kes ialah jika terdapat unsur pendua dalam tatasusunan, subskrip elemen tidak boleh diperoleh dengan tepat.

Kaedah 2: Gunakan fungsi array_keys()

array_keys() fungsi boleh mengembalikan semua nama kunci dalam tatasusunan, iaitu mengembalikan senarai subskrip tatasusunan. Kita boleh menggunakan fungsi ini untuk mencari semua subskrip elemen dalam tatasusunan integer, seperti yang ditunjukkan di bawah:

$array = array(1, 2, 3, 3, 4, 5);
$keys = array_keys($array, 3);
if (!empty($keys)) {
    foreach ($keys as $key) {
        echo "3 的下标是:$key<br>";
    }
} else {
    echo "数组中不存在 3";
}
Salin selepas log masuk

Hasil keluaran:

3 的下标是:2
3 的下标是:3
Salin selepas log masuk

Kaedah ini boleh mendapatkan elemen dalam tatasusunan integer Semua dengan tepat subskrip elemen, termasuk subskrip elemen berulang. Walau bagaimanapun, jika elemen tidak wujud dalam tatasusunan, tatasusunan kosong dikembalikan.

Kaedah 3: Gunakan fungsi array_flip() dan isset()

Fungsi array_flip() boleh menukar kunci dan nilai dalam tatasusunan dan kemudian mengembalikan tatasusunan baharu. Jika terdapat nilai pendua dalam tatasusunan asal, beberapa data akan hilang. Tetapi jika nilai dalam tatasusunan kami semuanya unik, kami boleh menggunakan kaedah ini untuk mencari subskrip elemen dalam tatasusunan integer, seperti berikut:

$array = array(1, 2, 3, 4, 5);
$flipped = array_flip($array);
if (isset($flipped[3])) {
    echo "3 的下标是:" . $flipped[3];
} else {
    echo "数组中不存在 3";
}
Salin selepas log masuk

Hasil keluaran:

3 的下标是:2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Walaupun kaedah ini agak mudah, ia hanya sesuai untuk situasi di mana semua elemen dalam tatasusunan adalah unik. Jika terdapat elemen yang sama dalam tatasusunan, kita tidak boleh mendapatkan subskrip yang betul.

Kaedah 4: Gunakan fungsi panggil balik dan fungsi array_filter()

fungsi array_filter() boleh menapis elemen tatasusunan mengikut keadaan yang ditetapkan, dan kemudian mengembalikan elemen tatasusunan yang memenuhi syarat. Kita boleh menggunakan fungsi ini digabungkan dengan fungsi panggil balik tersuai untuk mencari subskrip elemen dalam tatasusunan integer, seperti yang ditunjukkan di bawah:

$array = array(1, 2, 3, 3, 4, 5);
$index = null;
array_filter($array, function($key, $value) use (&$index) {
    if ($value == 3 && is_null($index)) {
        $index = $key;
    }
}, ARRAY_FILTER_USE_BOTH);
if (!is_null($index)) {
    echo "3 的下标是:$index";
} else {
    echo "数组中不存在 3";
}
Salin selepas log masuk

Hasil keluaran:

3 的下标是:2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini boleh tepat Dapatkan subskrip pertama elemen dalam tatasusunan integer, termasuk subskrip elemen berulang. Walau bagaimanapun, kod itu lebih rumit kerana keperluan untuk fungsi panggil balik tersuai.

Ringkasan

Untuk masalah mencari subskrip tatasusunan integer, kita boleh memilih kaedah yang berbeza untuk menyelesaikannya Kaedah yang sesuai harus dipilih mengikut kandungan tatasusunan dan aplikasi senario. Jika elemen dalam tatasusunan semuanya unik, kita boleh menggunakan fungsi array_search() atau fungsi array_flip() untuk mencari subskrip elemen tersebut. Jika terdapat unsur pendua dalam tatasusunan, kita boleh memilih untuk menggunakan fungsi array_keys() atau fungsi array_filter() digabungkan dengan fungsi panggil balik tersuai untuk mencari subskrip elemen.

Atas ialah kandungan terperinci PHP mencari subskrip tatasusunan integer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

See all articles