提问者:小点点

PHP按键变量筛选数组


我希望按键过滤,其中键是变量$kol。

$array = array(
    array('name' => 'John Doe', 'email' => 'john@gmail.com'),
    array('name' => 'Marry Lies', 'email' => 'marry@gmail.com'),
    array('name' => 'Andrew Joe', 'email' => 'andrew@gmail.com'),
);

$like = 'jo';
$kol = 'name';

$result = array_filter($array, function ($item) use ($like) {
    if (stripos($item['name'], $like) !== false) {
        return true;
    }
    return false;
});
print_r($result);

我曾尝试用$kol替换'name',但这不起作用。 我希望能够在'name'或'email'中搜索'jo',正在更改$kol的值。 怎么去?


共2个答案

匿名用户

我认为您可以在数组筛选器上同时传递$kol$like使用下面的来根据$kol筛选任何列和任何类似$like的值,

<?php

$array = array(
    array('name' => 'John Doe', 'email' => 'john@gmail.com'),
    array('name' => 'Marry Lies', 'email' => 'marry@gmail.com'),
    array('name' => 'Andrew Joe', 'email' => 'andrew@gmail.com'),
);

$like = 'jo';
$kol = 'name';
$result = array_filter($array, function ($item) use ($kol,$like) {
    if (stripos($item[$kol], $like) !== false) {
        return true;
    }
    return false;
});
print_r($result);

演示:https://3v4L.org/ij0rg

匿名用户

谢谢,这解决了我的问题。

相关问题