php - 如何避免 forech 循环以及我们如何使用数组列
问题描述
我有一个数组,在这个数组中我有列price
,现在我想只取价格等于 5 以及大于 5。我知道使用 foreach 循环我们可以实现这一点,还有其他方法可以实现我的预期答案?
$mainArray = [
"key1" => ["name" => "A", "price" => 5],
"key2" => ["name" => "B", "price" => 7],
"key3" => ["name" => "C", "price" => 2],
"key4" => ["name" => "D", "price" => 9]
];
我的代码
<?php
$mainArray = [
"key1" => ["name" => "A", "price" => 5],
"key2" => ["name" => "B", "price" => 7],
"key3" => ["name" => "C", "price" => 2],
"key4" => ["name" => "D", "price" => 9]
];
$maxPrice = 5;
$mainArray = array_filter($mainArray, function($value) {
return $value['price'] >= $maxPrice;
});
print_r($mainArray);
?>
但我收到错误E_NOTICE : type 8 -- Undefined variable: maxPrice -- at line 11
解决方案
您可以使用array_filter
来检查价格是否等于或大于 5。
<?php
$mainArray = [
"key1" => ["name" => "A", "price" => 5],
"key2" => ["name" => "B", "price" => 7],
"key3" => ["name" => "C", "price" => 2],
"key4" => ["name" => "D", "price" => 9]
];
$maxPrice = 5;
$mainArray = array_filter($mainArray, function($value) use ($maxPrice) {
return $value['price'] >= 5;
});
var_dump($mainArray);
推荐阅读
- r - 无法在我的条形图上放置正确的重要值顺序(emmeans_test 重新排列因子)
- javascript - Whatsapp 点击与表情符号聊天
- c - C加密/解密算法-将位位置2设置在当前位位置的左侧两个位位置
- python-3.x - Python x 天 y 小时 z 分钟至今
- python - 将 PDF 文件链接为静态内容的自定义角色
- tinymce - TinyMCE 5 和媒体插件:删除(隐藏)“嵌入”选项卡(部分)而不影响其他组件/控件
- python - 使用语音识别促进多个答案
- jq - jq:在过滤器中查找和替换
- r - r中2x3数据帧的列联表
- flutter - 当用户在颤动中主动与发件人聊天时如何隐藏新消息通知