Php array_search -funksjon

Php array_search -funksjon
PHP har mange innebygde funksjoner for matrisevariabler for å søke på nøkkelen og verdien av matrisen på forskjellige måter. Funksjonen Array_search () brukes til å søke i den spesielle verdien i matrisen og returnere nøkkelen til den verdien hvis søkeverdien eksisterer i matrisen. Hvis søkeverdien eksisterer mer enn en gang i matrisen, vil nøkkelen til den første samsvarsverdien returnere. Syntaksen til denne funksjonen er gitt nedenfor.

Syntaks:

Syntaks for array_search () -funksjonen er gitt nedenfor.

int | streng | falsk array_search (blandet $ search_value, array $ array [, bool $ streng = falsk])

Det første argumentet er obligatorisk og det tar verdien som vil bli søkt i matrisen.

Det andre argumentet er obligatorisk, og det tar matrisen hvor verdien vil bli søkt.

Det tredje argumentet er valgfritt, og dette argumentets standardverdi er falsk. Hvis verdien av dette argumentet er satt til sant, vil søkeverdien bli samsvarende strengt. Det betyr at både typen og verdien på søkeverdien vil kreve å samsvare med matriseverdien for å få den tilsvarende nøkkelverdien.

Funksjonen kan returnere Tre typer verdier. Det vil returnere et heltall eller streng basert på nøkkelverdien til matrisen, ellers returnerer falsk hvis søkeverdien ikke eksisterer i matrisen.

Array_search () Funksjonseksempler

Bruken av funksjonen array_search () er vist i neste del av denne opplæringen ved å bruke flere eksempler.

Eksempel-1: Bruk av array_search () uten valgfritt argument

Opprett en PHP -fil med følgende skript for å søke på det aktuelle nummeret i en matrise ved hjelp av array_search () -funksjonen. Funksjonen vil returnere indeksposisjonen til dette tallet hvis det eksisterer i matrisen; Ellers kommer den tilbake Falsk. En rekke 6 numeriske verdier har blitt brukt i skriptet. Søkenummeret vil bli hentet fra URL -parameteren.

// erklære en numerisk matrise
$ numarr = [80, 67, 34, 50, 12, 39];
// sjekk søkeverdien er gitt i nettadressen eller ikke
if (isset ($ _ få ['s']))

// Få søkeverdien
$ Search = $ _Get ['s'];
// Sjekk søkeverdien eksisterer i matrisen eller ikke
$ output = array_search ($ search, $ numarr);
// Kontroller den returnerte verdien av Array_search ()
if ($ output != Falsk)
Echo "$ Search er funnet på Position $ output.";
ellers
ekko "$ søk eksisterer ikke i matrisen.";

ellers
ekko "Ingen søkeverdi er gitt.";
?>

Produksjon:

Følgende utdata vises etter utført skriptet uten URL -parameter.

http: // localhost/php/array_search1.PHP

Følgende utdata vises etter utført skriptet ovenfor med URL -parameterverdien 67 som finnes i matrisen til 2nd posisjon. Indeksen for matrisen starter fra 0. Så utgangen er 1.

http: // localhost/php/array_search1.PHP?S = 67

Følgende utdata vises etter utført skriptet ovenfor med URL -parameterverdien, 99, som ikke eksisterer i matrisen.

http: // localhost/php/array_search1.PHP?S = 99

Eksempel-2: Bruk av array_search () med valgfritt argument

Opprett en PHP -fil med følgende skript som vil søke i det aktuelle nummeret i en matrise ved å bruke Array_search () -funksjonen med den valgfrie argumentverdien, ekte. Et assosiativt utvalg av 4 verdier har blitt brukt i skriptet. Søketallet vil bli hentet fra URL -parameteren.

// erklære et assosiativt utvalg
$ numarr = ["CSE-302" => 2.0, "CSE-407" => 1.0, "CSE-112" => 3.0, "CSE-202" => 2.0];
// sjekk søkeverdien er gitt i nettadressen eller ikke
if (isset ($ _ få ['s']))

// Få søkeverdien og konvertere den til flyteverdien
$ search = (float) $ _get ['s'];
// sjekk strengt at søkeverdien eksisterer i matrisen eller ikke
$ output = array_search ($ search, $ numarr, true);
// Kontroller den returnerte verdien av Array_search ()
if ($ output != Falsk)
Echo "$ Search er funnet på nøkkelen, $ output.";
ellers
ekko "$ søk eksisterer ikke i matrisen.";

ellers
ekko "Ingen søkeverdi er gitt.";
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor med URL -parameterverdien, 3 som samsvarer med matriseverdien, 3.0.

http: // localhost/php/array_search1.PHP?S = 3

Følgende utdata vises etter å ha utført skriptet ovenfor med URL -parameterverdien 5.0 som ikke eksisterer i matrisen.

http: // localhost/php/array_search1.PHP?S = 5.0

Eksempel-3: Søk i todimensjonal matrise ved bruk av array_search ()

Lag en PHP-fil med følgende skript for å søke på den spesielle verdien i en todimensjonal matrise ved hjelp av array_search () -funksjonen. En assosiativ todimensjonal rekke 3 rader og 3 kolonner har blitt brukt i skriptet. Søkeverdien vil bli hentet fra URL -parameteren.

// erklære en todimensjonal matrise
$ produkter = [
['id' => '8976', 'navn' => 'HDD', 'Price' => '$ 500'],
['id' => '4590', 'name' => 'Monitor', 'Price' => '$ 600'],
['id' => '1237', 'Navn' => 'tastatur', 'pris' => '$ 30']
];
// sjekk søkeverdien er gitt i nettadressen eller ikke
if (isset ($ _ få ['s']))

// Få søkeverdien
$ Search = $ _Get ['s'];
$ key = array_search ($ search, array_column ($ produkter, 'navn'));
// Kontroller den returnerte verdien av Array_search ()
if ($ nøkkel != Falsk)
ekko "Prisen på $ søk er".$ produkter [$ nøkkel] ['pris']."".";
ellers
ekko "$ søk eksisterer ikke i matrisen.";

ellers
ekko "Ingen søkeverdi er gitt.";
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor med URL -parameterverdien, 'Mus', som ikke stemmer med noen verdi av Navn Nøkkelen til matrisen.

http: // localhost/php/array_search1.PHP?S = mus

Følgende utdata vises etter å ha utført skriptet ovenfor med URL -parameterverdien, 'Observere' som samsvarer med en verdi av Navn Nøkkelen til matrisen.

http: // localhost/php/array_search1.PHP?S = Monitor

Eksempel-4: Bruke array_search () inne i en funksjon

Opprett en PHP-fil med følgende skript for å søke på den spesielle verdien i en matrise ved å bruke array_search () -funksjonen i en brukerdefinert funksjon. En matrise med 5 strengverdier har blitt brukt i skriptet. Deretter bruker skriptet den ternære operatøren til å skrive ut utdata basert på funksjonens returnerte verdi.

// erklære en matrise
$ språk = ['php', 'perl', 'python', 'java', 'bash'];
// erklære funksjon til søkeelement i matrisen
FUNKSJON SØK_IN_ARRAY ($ VAL, $ ARR)

return array_search ($ val, $ arr, true);

// definere søkeverdien
$ searchVal = 'perl';
// Ring funksjonen
$ output = search_in_array ($ searchval, $ språk);
// angi melding basert på tilstanden
$ melding = ($ output> = 0) ? "$ SearchVal eksisterer i matrisen.":" $ SearchVal eksisterer ikke i matrisen.";
// Skriv ut meldingen
ekko $ melding;
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor.

Konklusjon

Ulike måter å bruke array_search () -funksjonen til forskjellige formål er vist i eksemplene på denne opplæringen for å hjelpe PHP -brukerne til å kjenne bruken av denne funksjonen riktig.