我有最近几个月的每个月的值的sn数组。每个月都有查询,报价和订单的数量。我正在尝试为每个月创建一个数组,然后对于所述月份,它将保存查询,报价和订单的值,因此我可以输出每个月的所有3个值。
我的问题是,当我将foreach用于$arr[$y][$m] as $a
时,$a
似乎不包含查询,引号或订单的其他数组元素,即$a['enquiries']
没有任何价值。
如何获取值,或者有更简单的方法吗?
// creating the array
$arr = array();
$arr[19][03]['enquiries'] = 34;
$arr[19][02]['enquiries'] = 24;
$arr[19][01]['enquiries'] = 28;
$arr[18][12]['enquiries'] = 42;
$arr[19][03]['quotes'] = 22;
$arr[19][02]['quotes'] = 14;
$arr[19][01]['quotes'] = 11;
$arr[18][12]['quotes'] = 23;
$arr[19][03]['orders'] = 15;
$arr[19][02]['orders'] = 9;
$arr[19][01]['orders'] = 6;
$arr[18][12]['orders'] = 11;
// extrapolating the values
$y = 19;
$m = 03;
for ($x = 0; $x <= 3; $x++) {
// outputting the values
foreach($arr[$y][$m] as $a) {
echo $y.' '.$m.' enquiries='.$a['enquiries'].'<br>';
echo $y.' '.$m.' quotes='.$a['quotes'].'<br>';
echo $y.' '.$m.' orders='.$a['orders'].'<br>';
}
// creating the units the previous month
$m--;
if($m<1) {
$m = 12;
$y = $y--;
}
}
输出数组:
Array
(
[19] => Array
(
[3] => Array
(
[enquiries] => 34
[quotes] => 22
[orders] => 15
)
[2] => Array
(
[enquiries] => 24
[quotes] => 14
[orders] => 9
)
[1] => Array
(
[enquiries] => 28
[quotes] => 11
[orders] => 6
)
)
[18] => Array
(
[12] => Array
(
[enquiries] => 42
[quotes] => 23
[orders] => 11
)
)
)
答案 0 :(得分:3)
您不需要foreach
。 $arr[$y][$m]
已经用键enquiries
等指向数组,因此您可以直接访问值:
echo $y.' '.$m.' enquiries='.$arr[$y][$m]['enquiries'].'<br>';
echo $y.' '.$m.' quotes='.$arr[$y][$m]['quotes'].'<br>';
echo $y.' '.$m.' orders='.$arr[$y][$m]['orders'].'<br>';