Quelques fonctions insensibles à la casse pour manipuler des tableaux en PHP

Tester si une chaîne est présente dans une liste :

function in_iarray($str, $a)
{
    foreach ($a as $v) {
        if (strcasecmp($str, $v) == 0) {
            return true;
        }
    }
    return false;
}

Dédoublonner une liste de chaînes de caractères :

function array_iunique($a)
{
    $n = array();
    foreach ($a as $k => $v) {
        if (!in_iarray($v, $n)) {
            $n[$k] = $v;
        }
    }
    return $n;
}

Soustraction entre deux listes de chaînes de caractères :

function array_idiff($array1, $array2)
{
    foreach ($array1 as $key=>$element) {
        foreach($array2 as $key2=>$element2) {
            if (strtolower($element) == strtolower($element2)) {
                unset($array1[$key]);
            }
        }
    }
    return $array1;
}