gre*_*emo 12 php arrays callback array-filter
array_filter - 使用回调函数过滤数组的元素
array array_filter(array $ input [,callback $ callback])
可以回调获取当前数组值的关键以及如何?
hos*_*eio 11
从文档:PHP 5.6.0添加了可选的标志参数和常量ARRAY_FILTER_USE_KEY和ARRAY_FILTER_USE_BOTH
http://php.net/manual/en/function.array-filter.php
在之前的评论中,您概述了您实际上正在寻找这样的事情:
foreach ($t as $k => $v)
if (!array_key_exists($k, $valid))
unset($t[$k])
Run Code Online (Sandbox Code Playgroud)
实际上,从数组$t中删除没有数组键的所有值$valid.
调用PHP的函数array_intersect_key.交集等于过滤结果:
$filtered = array_intersect_key($t, $valid);
Run Code Online (Sandbox Code Playgroud)
通过使用ARRAY_FILTER_USE_BOTH常量,您可以获得 value 和 key :
array_filter($arrFoo, function ($value, $key) { return 'name' === $key && $value > 1 }, ARRAY_FILTER_USE_BOTH)
Run Code Online (Sandbox Code Playgroud)
通过使用ARRAY_FILTER_USE_KEY常量,您可以单独获取密钥:
array_filter($arrFoo, function ($key) { return 'name' === $key }, ARRAY_FILTER_USE_KEY)
Run Code Online (Sandbox Code Playgroud)