首页 > 解决方案 > 根据键获取数组的索引

问题描述

我有一个带有索引的数组。该指数不是静态的,而是不断变化的。

$fields = [
  11 => array (
    'fieldId' => 'ORStreet',
    'type' => 'TEXT',
    'value' => 'Postbus 52',
  ),
];

上面的索引是11。但有时它会变成一个不同的数字。始终保持不变的一件事是 fieldId。我怎样才能通过只知道字段 id 来获取这个数组的索引。

上面的数组是称为“字段”的主数组的子数组。

在我的脑海中,我有这样的事情:

如果找到 fieliD => ORStreet 的数组,则遍历名为 fields 的主数组。返回该数组的索引。

如果无法以这种方式获得索引,我不会介意我是否获得了 'value' => 'Postbus52' 密钥对。

标签: phparrays

解决方案


您可以使用array_map()和的组合array_flip()

$index = array_flip(array_map(function($val){
    return $val["fieldId"];
}, $arr));
echo $index["ORStreet"];
// output: 11

在演示中检查结果


推荐阅读