Php 匹配多数据数组中的值

Php 匹配多数据数组中的值,php,Php,我想在数组中搜索一个键中的一个值,然后从同一数组中的另一个键返回内容。 像这样: $cars=数组 ( 数组(“品牌”=>“沃尔沃”,“颜色”=>22), 阵列(“品牌”=>BMW”,“颜色”=>15), 阵列(“品牌”=>“萨博”,“颜色”=>5), 阵列(“品牌”=>“路虎”,“颜色”=>17) ); //不起作用,只是为了澄清我的意图 如果($cars['brand']=='BMW'){echo$cars['color'];} 在这个例子中,15应该是回声。 如何做到这一点?这应该做到:

我想在数组中搜索一个键中的一个值,然后从同一数组中的另一个键返回内容。 像这样:

$cars=数组
(
数组(“品牌”=>“沃尔沃”,“颜色”=>22),
阵列(“品牌”=>BMW”,“颜色”=>15),
阵列(“品牌”=>“萨博”,“颜色”=>5),
阵列(“品牌”=>“路虎”,“颜色”=>17)
);
//不起作用,只是为了澄清我的意图
如果($cars['brand']=='BMW'){echo$cars['color'];}
在这个例子中,15应该是回声。 如何做到这一点?

这应该做到:

foreach($cars as $car) {
    if($car['brand'] == 'BMW') {
        echo $car['color'];
    }
}

您可以在PHP中使用
array\u filter
函数。请参阅PHP文档和给定的示例。

您需要创建一个循环来遍历每个可能的值。通常,您只需要使用for循环

for($i = 0; $i < count($cars); $i++) {
    if($cars[$i]['brand'] == "BMW")
        echo $cars[$i]['color'];
}
有关更多信息,请参阅数组、for循环和foreach循环文档


将其包裹在一个环下,它就会工作。。
foreach($cars as $v) {
    if($v['brand'] == "BMW")
        echo $v['color'];
}