php - 获取多维数组最后一个值的值
问题描述
对于过去几个月的每个月,我都有 sn 值数组。每个月都有查询、报价和订单的数量。我正在尝试为每个月创建一个数组,然后对于该月,它将保存查询、报价和订单的值,因此我可以输出每个月的所有 3 个值。
我的问题是,当我使用 foreach for 时$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
)
)
)
解决方案
你不需要一个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>';
推荐阅读
- python - 如何从压缩文件夹中加载 jinja2 模板
- reactjs - 无法使用 Axios 从 React 中的 API 调用映射数据
- android - 约束布局意外边距
- ios - 如何使用 UINavigationBarAppearance 设置自定义后退箭头图像的颜色?
- java - 如何有效地从列表中删除 null?
- laravel - 如何将 Vue.js 变量传递给 Laravel Blade 路由助手
- javascript - 如何退出点击功能或阻止该功能触发,直到满足条件
- ethereum - 如何使用 web3j java 签署 erc20 令牌交易
- python - 通过 iloc 为 Pandas 数据框赋值
- javascript - 何时使用类组件,何时使用函数式组件