PHParray_filter()根据键过滤数组有些时候,我需要根据数据库的字段,过滤数组。以下是我使⽤过的过滤函数
# 获取所有键
filter过滤对象数组$keys = ['key1' , 'key2', 'key3'];
# 要过滤的数组
$attr = ['key1' => 1, 'key2' => 2, 'filter' => 'filter'];
# 使⽤array_filter 函数进⾏过滤
$result =  array_filter($attr, function ($val, $key) use ($keys) { # use解决闭包传值问题
# 过滤不需要的键值
if (in_array($key, $keys)) {
return true;
}
}, ARRAY_FILTER_USE_BOTH);
# 函数第三个参数为ARRAY_FILTER_USE_BOTH  代表回调函数可传⼊第⼆参数(代表可接受键值)
var_dump($result );
// ['key1' => 1 , 'key2' => 2]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。