从PHP中的数组键中获取值

时间:2015-01-25 22:05:39

标签: php arrays

我在PHP中有以下数组:

Array
(
    [0] => Array
        (
            [name] => category
            [value] => OUT
        )
    [1] => Array
        (
            [name] => Name_Fr
            [value] => p
        )
...

如果我知道名字,我怎样才能获得价值?

我试过了:

$value = $array['name']['Name_Fr'];

感谢。

3 个答案:

答案 0 :(得分:2)

您必须遍历查找名称匹配位置的所有索引。

答案 1 :(得分:2)

如果你正在运行PHP 5.5,你可以使用array_column()做很多事情,例如:

$newArray = array_column($oldArray, 'value', 'name');
$value = $newArray[$knownName];

或甚至(使用数组解除引用):

$value = array_column($oldArray, 'value', 'name')[$knownName];

对于早期版本的PHP,您可以执行以下操作:

$value = array_filter(
    $oldArray, 
    function ($value) use ($knownName) { 
        return $value['name'] == $knownName; 
    }
);
$value = array_shift($value);
echo $value['value'], PHP_EOL;

答案 2 :(得分:1)

因为它是一个数组数组,所以循环可以帮助你这样做。

foreach($arrays as $array)
{
  $value = $array[value]
}