PHP过滤器数组函数
我需要一个过滤器作为功能。我已经:PHP过滤器数组函数,php,function,multidimensional-array,filter,filtering,Php,Function,Multidimensional Array,Filter,Filtering,我需要一个过滤器作为功能。我已经: <?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.co
<?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);
如何使上述代码在函数中工作。请在这里写下全部代码。您就快到了。问题在于,当使用
数组_过滤器
(如上的小字部分所述)时,会保留数组键。要重新索引结果,可以通过数组_值运行它,这将重置键,使其从零开始
作为一个函数,它可以如下所示:
function filter($array, $like, $kol) {
$filtered = array_filter($array, function ($item) use ($kol, $like) {
return stripos($item[$kol], $like) !== false;
});
return array_values($filtered);
}
此处的完整演示:以上代码返回第[0]行和第[2]行。如何使其按顺序返回行,以便返回[0]和[1]?array\u values()
将为您重新排序数组。
function filter($array, $like, $kol) {
$filtered = array_filter($array, function ($item) use ($kol, $like) {
return stripos($item[$kol], $like) !== false;
});
return array_values($filtered);
}