简体   繁体   English

从PHP数组中的键中获取价值

[英]Get value from key in an array in PHP

I have the following array in PHP: 我在PHP中有以下数组:

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

How can I get the value if I know the name ? 如果知道名称,如何获取值?

I tried: 我试过了:

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

Thanks. 谢谢。

您将必须遍历所有索引,以找到名称匹配的地方。

If you're running PHP 5.5, you can do a lot with array_column() , such as: 如果您运行的是PHP 5.5,则可以使用array_column()完成很多工作,例如:

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

or even (using array dereferencing): 甚至(使用数组解引用):

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

For earlier versions of PHP, you could do something like: 对于早期版本的PHP,您可以执行以下操作:

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

since it's an array of arrays, a loop would help you do so. 由于它是一个数组数组,因此循环可以帮助您做到这一点。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM