仅保留在指定键处包含指定值的数组行

我有这个功能:


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 的精确值?现在它搜索“like $like”。


有只小跳蛙
浏览 135回答 2
2回答

互换的青春

使用条纹将:查找 haystack 字符串中第一次出现的数字位置。如果你想检查$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演示

鸿蒙传说

您的任务是询问如何创建数组的索引数组,其中符合条件的行必须在指定键处包含指定值。function filter($array, $value, $key) {    return array_values(               array_filter(                   $array,                   fn($row) => array_key_exists($key, $row) && $row[$key] === $value               )           );}如果键存在并且该键的值完全匹配,则调用array_filter()返回(保留行)。true
打开App,查看更多内容
随时随地看视频慕课网APP