Php 如何通过传递另一个数组元素来获取数组元素?
我有一个数组跟踪Php 如何通过传递另一个数组元素来获取数组元素?,php,arrays,Php,Arrays,我有一个数组跟踪 [0] => Array ( [month] => Oct [amount] => 1200.00 ) 通过传递[month]我如何获得[amount]如果您想要的月份==$arrayElement[$i]['month']]您必须循环数组并每次进行测试。两种选择: 循环: foreach ($array as $i) { if ($i['month'] == 'Oct') { echo $i['amount'
[0] => Array
(
[month] => Oct
[amount] => 1200.00
)
通过传递
[month]
我如何获得[amount]
如果您想要的月份==$arrayElement[$i]['month']]您必须循环数组并每次进行测试。两种选择:
foreach ($array as $i) {
if ($i['month'] == 'Oct') {
echo $i['amount'];
}
}
$array = array_combine(array_map(function($i) { return $i['month']; }, $array),
$array);
echo $array['Oct']['amount'];
您必须迭代数组并搜索月值,或者将数组转换为
month=>amount
以直接访问。是的,您必须使用循环。数据结构在这方面是不幸的。如果您可以更改它,这将是最好的选择。第二个选项只有在每个条目的月份唯一时才有效。您总是可以创建一个month=>[amount,…]
map,但这有点复杂。只需指出:),这应该足以让操作开始。完全正确,显然我在这里进行假设…:)
foreach ($arr as $k=>$v) {
if ($v['month']=='Oct') {
echo $v['amount'];
}
}
foreach ($arr as $k => $v) {
if ($v['month'] == $needleMonth) {
echo $v['amount'] . ' - that`s it';
break;
}
}
$selectedMonth = 'Oct';
foreach($yourArray as $child){
if($child['month'] == $selectedMonth){
echo $child['amount'];
}
}