【发布时间】:2017-09-11 08:53:08
【问题描述】:
我知道当我在数组中寻找值时我可以这样做。
$example = array('example','One more example','last example');
$searchword = 'last';
$matches = array_filter($example, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });
但是我想做这样的事情,但对于这个例子:
$example = array( "first" => "bar", "second" => "foo", "last example" => "boo");
$searchword = 'last';
如何更改它以获取包含 searchword 而不是值的键值?
$matches = array_filter($example, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });
【问题讨论】:
-
您可以使用 array_keys 生成数组键的数组并对其进行搜索,然后使用匹配的键从原始数组中检索它们的值。
-
看看here
-
@Michel 我已经得到它搜索值,我想要它基于
key -
从 PHP 5.6 开始,如果你将
ARRAY_FILTER_USE_BOTH作为array_filter()的第三个参数传递,它会将值和键同时传递给回调函数。
标签: php arrays array-filter