我在PHP中有以下数组:
Array
(
[0] => Array
(
[name] => category
[value] => OUT
)
[1] => Array
(
[name] => Name_Fr
[value] => p
)
...
如果我知道名字,我怎样才能获得价值?
我试过了:
$value = $array['name']['Name_Fr'];
感谢。
答案 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]
}