【发布时间】:2017-08-03 06:46:07
【问题描述】:
我有数组:
$persons = [
'name_1' => 'asfddf',
'name_2' => 'gsdg',
'name_3' => '23423',
'name_aaa' => '123sdg',
'test' => '123sdg',
'other' => '123sdg',
'name_5' => 'sdg2334',
];
如何从这个数组中获取键值为name的值?
在我的示例中,我希望收到:
$persons = [
'name_1' => 'asfddf',
'name_2' => 'gsdg',
'name_3' => '23423',
'name_aaa' => '123sdg',
'name_5' => 'sdg2334',
];
我可以使用foreach 并通过strpos 检查密钥,但这可能是更好的方法吗?任何地图减少?
【问题讨论】:
-
foreach是最简单、最易读的方式。你为什么要把事情复杂化? -
你可以使用 array_filter 和
ARRAY_FILTER_USE_KEY以及一个回调,如果你愿意,但最终它与使用foreach迭代数组相同。 -
@xander 但请注意
array_filter从 php5.6 开始在回调中使用 keys,因此它不适用于旧版本。