Cautare case-insensitive in array

Acum cateva ore am avut nevoie de o cautare case-insensitive intr-un array, pentru ca pe mine m-a interesat o valoare indiferent cum este scrisa. De exemplu cautam termenul “Oradea” dar nu stiu exact daca in array apare sub forma “oradea”, “oRadea”, “ORADEA”.

Ca si prim pas am folosit functia in_array().

Ex:

Acest exemplu va afisa ‘false’ pentru ca nu exista elementul case-sensitive “Oradea”.

Rezolvare: Solutia este sa transformam atat elementul cautat cat si toate elementele din array in litere mici sau litere mari.

Ex2:

Acest exemplu2 va afisa ‘true’, pentru ca
strtolower(“BucureSti”) //bucuresti
array_map(‘strtolower’, $arr) // “oradea”, “bucuresti”, “brasov”

Tot asa se putea rezolva folosind functia strtoupper().

Ex3 : Voi scrie doar partea cu if

Totasa va afisa ‘true’.

Sper ca va fi de folos pentru multi incepatori 🙂

Leave a Reply