PHP: in_array() als case-insensitive Funktion

edit | delete

Autor: Ralf v.d.Mark

eingetragen: Mittwoch, 05. Januar 2022 um 16:42 Uhr (1/2022 Kalenderwoche)

geändert: Mittwoch, 05. Januar 2022 um 16:44 Uhr (1/2022 Kalenderwoche)

Keywords: case-insensitive, Groß-/Kleinschreibung inarray

Kategorien: PHP,

Text:

Wenn man gleiche Werte im Array sucht, stößt man schnell an das Problem, dass die Groß-/Kleinschreibung beachtet wird. Mit der untenstehenden Funktion "in_arrayi($needle, $haystack)" wird die Groß-/Kleinschreibung (case-insensitive) nicht beachtet.


Artikel bei stackoverflow.com

Quellcode:  

/**
 * Gleiche Methode wie PHP-Nativ in_array(), aber caseinsensitive!
 * 
 * @param $needle
 * @param $haystack
 *
 * @return array|false
 */
function in_arrayi($needle, $haystack) {
    //return in_array(strtolower($needle), array_map('strtolower', $haystack));
    return preg_grep( "/".$needle."/i" , $haystack);
}