Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk mengetahui sama ada nilai tertentu wujud dalam tatasusunan dua dimensi dalam php

Bagaimana untuk mengetahui sama ada nilai tertentu wujud dalam tatasusunan dua dimensi dalam php

Apr 20, 2023 pm 01:55 PM

Tatasusunan dua dimensi PHP untuk mencari sama ada nilai tertentu wujud

Dalam PHP, tatasusunan ialah salah satu jenis data yang biasa digunakan dan tatasusunan dua dimensi ialah salah satu bentuk tatasusunan yang lebih biasa digunakan. Dalam pembangunan sebenar, kita sering perlu mencari sama ada nilai tertentu wujud dalam tatasusunan dua dimensi Artikel ini akan memperkenalkan beberapa kaedah pelaksanaan.

  1. Gunakan gelung foreach

Pertama, kita boleh menggunakan gelung foreach untuk merentasi keseluruhan tatasusunan dua dimensi dan mengetahui sama ada nilai sasaran wujud satu demi satu. Kodnya adalah seperti berikut:

function search_array($array, $search_value)
{
    foreach($array as $value)
    {
        if(in_array($search_value, $value))
        {
            return true;
        }
    }
    return false;
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi bernama search_array, yang menerima dua parameter $array mewakili tatasusunan dua dimensi untuk dicari dan $search_value mewakili nilai untuk dicari.

Dalam badan fungsi, kita mula-mula menggunakan gelung foreach untuk melintasi tatasusunan dua dimensi, mengeluarkan elemen tatasusunan $value setiap kali, dan kemudian gunakan fungsi in_array untuk menyemak sama ada $search_value wujud dalam $value . Jika ia wujud, fungsi mengembalikan true , menunjukkan bahawa nilai sasaran telah ditemui jika tidak, gelung diteruskan sehingga traversal tatasusunan selesai.

Nota: Fungsi in_array() digunakan untuk mencari nilai tertentu dalam tatasusunan. Mengembalikan benar jika ditemui, palsu sebaliknya.

  1. Gunakan fungsi array_walk

Selain menggunakan gelung foreach, kita juga boleh menggunakan fungsi array_walk untuk memproses setiap elemen tatasusunan dan menyemak sama ada nilai sasaran wujud. Kodnya adalah seperti berikut:

function search_array($array, $search_value)
{
    $found = false;
    array_walk($array, function($value) use (&$found, $search_value){
        if(in_array($search_value, $value))
        {
            $found = true;
        }
    });
    return $found;
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan fungsi bernama search_array, yang menerima dua parameter: $array mewakili tatasusunan dua dimensi yang hendak dicari, $search_value mewakili nilai . Kami juga mentakrifkan pembolehubah $found, yang menunjukkan sama ada nilai sasaran ditemui dan dimulakan kepada palsu.

Kemudian, kami memanggil fungsi array_walk untuk melintasi tatasusunan $array Di sini kami menggunakan fungsi tanpa nama sebagai fungsi panggil balik Fungsi menerima parameter $value untuk mewakili elemen tatasusunan, dan menggunakan pernyataan penggunaan untuk lulus $found dan $search_value in. , gunakan fungsi in_array dalam badan fungsi untuk menyemak sama ada $search_value wujud dalam $value Jika wujud, tetapkan $found kepada benar, menunjukkan bahawa nilai sasaran ditemui. Akhir sekali, fungsi mengembalikan nilai $found, menunjukkan sama ada nilai sasaran ditemui.

Nota: Fungsi array_walk() menggunakan fungsi yang ditentukan pengguna untuk setiap elemen dalam tatasusunan. Mengembalikan TRUE jika berjaya, FALSE sebaliknya.

  1. Gunakan fungsi array_reduce

Akhir sekali, kita juga boleh menggunakan fungsi array_reduce untuk melintasi keseluruhan tatasusunan dua dimensi dan semak sama ada setiap elemen tatasusunan mengandungi nilai sasaran satu oleh seorang. Kod tersebut adalah seperti berikut:

function search_array($array, $search_value)
{
    $found = array_reduce($array, function($carry, $value) use ($search_value){
        return $carry || in_array($search_value, $value);
    }, false);
    return $found;
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan fungsi bernama search_array, yang menerima dua parameter: $array mewakili tatasusunan dua dimensi yang hendak dicari dan $search_value mewakili nilai.

Kemudian, kami menggunakan fungsi array_reduce untuk melintasi keseluruhan tatasusunan dua dimensi, menggunakan fungsi tanpa nama sebagai fungsi panggil balik, di mana $carry mewakili nilai pulangan lelaran sebelumnya dan $value mewakili elemen tatasusunan pada masa ini diulang kepada. Fungsi in_array digunakan dalam badan fungsi untuk menyemak sama ada $search_value wujud dalam $value, $carry || true dikembalikan, menunjukkan bahawa nilai sasaran telah ditemui, $carry ||. menunjukkan bahawa nilai sasaran belum ditemui. Akhir sekali, fungsi mengembalikan nilai $found, menunjukkan sama ada nilai sasaran ditemui.

Nota: Fungsi array_reduce() menggunakan fungsi panggil balik untuk secara berulang mengurangkan tatasusunan kepada satu nilai.

Ringkasan

Artikel ini memperkenalkan tiga cara untuk melaksanakan tatasusunan dua dimensi PHP untuk mencari nilai tertentu Ia menggunakan gelung foreach, fungsi array_walk dan fungsi array_reduce untuk melintasi tatasusunan dua dimensi masing-masing. dan semak sama ada ia mengandungi nilai sasaran. Dalam pembangunan sebenar, kita harus memilih kaedah pelaksanaan yang sesuai berdasarkan situasi sebenar untuk meningkatkan kecekapan kod dan kelajuan pelaksanaan.

Atas ialah kandungan terperinci Bagaimana untuk mengetahui sama ada nilai tertentu wujud dalam tatasusunan dua dimensi dalam php. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Bagaimana untuk menggunakan tugas-tugas asynchronous dalam PHP untuk operasi tidak menyekat? Bagaimana untuk menggunakan tugas-tugas asynchronous dalam PHP untuk operasi tidak menyekat? Mar 10, 2025 pm 04:21 PM

Artikel ini meneroka pelaksanaan tugas tak segerak dalam PHP untuk meningkatkan respons aplikasi web. Ia memperincikan kaedah seperti beratur mesej, rangka kerja asynchronous (reactphp, swoole), dan proses latar belakang, menekankan amalan terbaik untuk kecekapan

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Butiran artikel ini melaksanakan beratur mesej dalam PHP menggunakan RabbitMQ dan Redis. Ia membandingkan seni bina mereka (AMQP vs dalam memori), ciri-ciri, dan mekanisme kebolehpercayaan (pengesahan, urus niaga, kegigihan). Amalan terbaik untuk reka bentuk, kesilapan

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Artikel ini mengkaji piawaian pengekodan PHP semasa dan amalan terbaik, memberi tumpuan kepada cadangan PSR (PSR-1, PSR-2, PSR-4, PSR-12). Ia menekankan peningkatan kebolehbacaan dan kebolehkerjaan kod melalui gaya yang konsisten, penamaan bermakna, dan EFF

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Artikel ini menerangkan API Refleksi PHP, membolehkan pemeriksaan runtime dan manipulasi kelas, kaedah, dan sifat. IT memperincikan kes penggunaan biasa (penjanaan dokumentasi, ORM, suntikan pergantungan) dan memberi amaran terhadap prestasi overhea

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Butiran artikel ini memasang dan menyelesaikan masalah PHP, memberi tumpuan kepada PECL. Ia meliputi langkah pemasangan (mencari, memuat turun/menyusun, membolehkan, memulakan semula pelayan), teknik penyelesaian masalah (memeriksa log, mengesahkan pemasangan,

Bagaimana cara menggunakan teknik pengoptimuman memori dalam PHP? Bagaimana cara menggunakan teknik pengoptimuman memori dalam PHP? Mar 10, 2025 pm 04:23 PM

Artikel ini menangani pengoptimuman memori PHP. IT memperincikan teknik seperti menggunakan struktur data yang sesuai, mengelakkan penciptaan objek yang tidak perlu, dan menggunakan algoritma yang cekap. Sumber kebocoran memori biasa (mis., Sambungan yang tidak terkawal, global v

Bagaimanakah saya tetap up-to-date dengan ekosistem dan komuniti php? Bagaimanakah saya tetap up-to-date dengan ekosistem dan komuniti php? Mar 10, 2025 pm 06:16 PM

Artikel ini meneroka strategi untuk kekal semasa dalam ekosistem PHP. Ia menekankan penggunaan saluran rasmi, forum komuniti, persidangan, dan sumbangan sumber terbuka. Penulis menyoroti sumber terbaik untuk mempelajari ciri -ciri baru dan a

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.

See all articles