OqPoWah.com

PHP array_search: poiščite vrednost v matriki

Ena od glavnih operacij pri delu z nizi je iskanje določene vrednosti. Za to se uporablja funkcija PHP array_search (). Je sposoben obdelati enodimenzionalne in asociativne zbirke in vrniti ključ iskane vrednosti, če se nahaja v matriki.

Sintaksa

Formalni opis funkcije array_search () v PHP je videti takole:

mešana array_search (mešana vrednost, array $ collection [, bool strict])

Vhodni parametri:

  • $ zbiranje - matrika, v kateri bo iskanje izvedeno;
  • vrednost - želena vrednost katere koli vrste;
  • stroga je neobvezna logična zastava, ki vzpostavlja strog primerjalni mehanizem glede na tipe.

Mehanizem dela

Funkcija PHP array_search () izmenično primerja vrednost z vsemi vrednostmi v zbirni array. Primerjava se privzeto izvaja brez upoštevanja vrst operandov. To nastavitev lahko spremenite tako, da nastavite strogo zastavo na TRUE. Primerjava nizov je občutljiva na velike in male črke.

Če se najde tekmo, se vrne ključ, ki ustreza najdenem elementu, in funkcija se prekine. Zato ga ni mogoče uporabiti za odkrivanje večkratnega pojavljanja iskane vrednosti v matriki.

Če ni zadetkov, bo funkcija vrnila Boolovsko vrednost FALSE.

Za preverjanje vrnjenega rezultata je potrebno s pomočjo operatorja stroge enakosti (===). To je pomembno, saj lahko funkcija vrne vrednost, ki se pretvori v FALSE, na primer 0 ali prazen niz.

Programski jezik PHP

Primeri uporabe

Primer 1. Če prenesete večdimenzionalno matriko v funkcijo PHP array_search (), bo rezultat operacije ključ ključnega elementa, ki ga iščete.

 "zima", "season2" => "pomlad", "Sezona3" => "poletje", "season4" => "jesen") - $ result1 = array_search ( " zima ", $ array) - $ result2 = array_search (" poletje ", $ array) - $ result3 = array_search (" april ", $ array) ->



V tem primeru bo $ result1 spremenljivka nastavljena na "season1", $ result2 enako "Sezona3", in bo dodeljena $ result3 logična FALSE, ampak kot niz "april" ni mogoče najti v prvotni matriki.

Primer 2. Funkcija PHP array_search () lahko obravnava enodimenzionalno matriko in šteje svoje ključe po vrstnem redu numeričnih indeksov.

Spremenljivemu $ rezultatu bo dodeljena vrednost 1, v skladu z indeksom elementa "lovec" v array $ array.

Primer 3. Možna napaka v analizi rezultata.

 "Washington" 1 => "Adams", 2 => "Jefferson", 3 => "Madison", 4 => "Monroe") - $ rezultat = array_search ( "Washington ", $ predsedniki) -if (! $ result) {echo" G. Washington ni bil prvi predsednik ZDA "-}?>

Torej, brez preverjanja rezultatov s strogo enakostjo, lahko dobite nepričakovano sporočilo, da George Washington ni bil prvi predsednik Združenih držav.

George Washington je prvi predsednik ZDA

Primer 4. Vrne se samo ključ prvega odkritega ujemanja.

Kljub dejstvu, da je najdena vrednost trikrat v matriki, funkcija vrne samo prvi najdeni rezultat - 0. Če želite poiskati več zadetkov, je priporočljivo uporabiti funkcijo PHP array_keys ().

Zdieľať na sociálnych sieťach:

Príbuzný