PHP фильтровать точные значения из массива - PullRequest
0 голосов
/ 12 июля 2020

У меня есть эта функция:

function filter($array, $like, $kol) {
    $filtered = array_filter($array, function ($item) use ($kol, $like) {
        return stripos($item[$kol], $like) !== false;
    });
    
    return array_values($filtered);
}

Как я могу изменить это, чтобы возвращать только точные значения как $ like? Теперь он ищет «как $ как».

1 Ответ

0 голосов
/ 12 июля 2020

Используя stripos , вы:

Найдите число c позиции первого вхождения иголки в строке стога сена.

Если вы хотите проверить, равно ли значение $ item [$ kol] $like, вы можете сравнить строки

return $item[$kol] === $like

При индексировании в массиве вы можете сначала проверьте, существует ли ключ.

Например

function filter($array, $like, $kol) {
    $filtered = array_filter($array, function ($item) use ($kol, $like) {
        if (array_key_exists($kol, $item)) {
            return $item[$kol] === $like;
        }
        return false;
    });

    return array_values($filtered);
}

Php демо

...