3 回答

TA贡献1845条经验 获得超8个赞
foreach() -foreach将$key在每次迭代时将当前元素的键另外分配给变量
foreach (array_expression as $key => $value)
statement
注意: 您可以使用任何变量,而不必将变量与名称一起使用$key
您正在使用该键作为条件,$flavor["in_stock"]并使用相同的键$flavor["name"]。您需要使用$value哪个保持当前迭代array,正确使用的foreach代码是
foreach($flavors as $flavor => $value) {
if($value["in_stock"] == true) {
echo $value["name"] . "\n";
}
}

TA贡献1803条经验 获得超6个赞
为什么要迭代呢?可以只过滤一个条件数组:
<?php
$flavors = [];
$flavors[] = ['name' => 'CD', 'in_stock' => true];
$flavors[] = ['name' => 'V', 'in_stock' => true];
$flavors[] = ['name' => 'S', 'in_stock' => false];
$inStock = array_filter($flavors, function (array $flavor) {
return $flavor['in_stock'];
});
print_r($inStock);
$inStockFlavors = array_column($inStock, 'name');
print_r($inStockFlavors);
- 3 回答
- 0 关注
- 112 浏览
添加回答
举报