【发布时间】:2014-03-13 14:18:27
【问题描述】:
此问题与以下问题有关: Search multidimensional array in PHP and return keys
我有以下数组我想搜索字符串使用例如正则表达式:
[390] => Array
(
[0] => hammer
[1] => Properties
[2] => tools, hammer, properties
[3] =>
[4] => done
[png] => Array
(
[0] => hammer_16x.png
[1] => hammer_32x.png
)
[eps] => Array
(
[0] => hammer_16x.eps
[1] => hammer_32x.eps
)
[ico] => Array
(
[0] => hammer.ico
)
)
我特别想搜索这些值:
[0] => hammer
[1] => Properties
[2] => tools, hammer, properties
[3] =>
[4] => done
例如用户在搜索“ham”、“tools”、“amm”等时可以找到这个数组键。
我试图调整上面帖子中发布的解决方案,但没有成功。我还找到了使用 array_map 的解决方案,但这不能让我显式搜索特定属性(例如,我想进一步将搜索限制为数组中的第一个索引,此处为 [0] => 锤子) :
$result= array_map('unserialize', preg_filter('/'.$searchterm.'/', '$0', array_map('serialize', $array)));
欢迎您的想法 :) 谢谢!
【问题讨论】:
标签: php regex arrays multidimensional-array