有些时候,我需要根据数据库的字段,过滤数组。以下是我使用过的过滤函数
# 获取所有键
$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]
PHP array_filter() 根据键过滤数组
最新推荐文章于 2024-01-29 12:15:20 发布