php - Laravel - 试图获取非对象的属性 - PHP
问题描述
我目前正在尝试学习 Laravel 和 PHP。
我需要能够导入 Excel 文件,然后从该文件中获取数据。目前,导入部分有效,我可以从文件中看到数据。但是,我无法访问数据。
我已经阅读了toArray()
Laravel 中的函数,并使用如下:
$data = Excel::load($path, function($reader) {})->skipColumns(2)->get();
$data = $data->toArray();
foreach ($data as $key => $value) {
//We only need some of the available data.
echo $value->next_milestone_desc_cur._comp._incl_rltd;
echo $value->shipment_id;
}
上面的代码给了我以下错误:
试图获取非对象的属性“next_milestone_desc_cur”
下面是我使用生成的数组的输出dd($value)
:
array:543 [▼
0 => array:20 [▼
"next_milestone_desc_cur._comp._incl_rltd" => "005. DK - Add DropMode/Local Trp Org in Pickup Tab"
"milestone_cur._comp._sequence_no" => "005"
"cur._comp._export_validation" => "NOT OK"
"shipment_id" => "SBRY0162091"
"consol_id" => "CDK327188" ]
1 => array:20 [▼
"next_milestone_desc_cur._comp._incl_rltd" => "005. DK - Add DropMode/Local Trp Org in Pickup Tab"
"milestone_cur._comp._sequence_no" => "005"
"cur._comp._export_validation" => "NOT OK"
"shipment_id" => "SBRY0162124"
"consol_id" => "CDK327221"
]
我在这里做错了什么?我也试过
echo $value[0]->next_milestone_desc_cur._comp._incl_rltd;
了,但这也不起作用。
解决方案
您正在尝试将数组作为对象访问,因此您的错误并解决第二点,您需要使用嵌套循环然后访问子数组。
你的数组看起来像这样:
$array = [
0 => [
0 => [
'test' => 'value'
],
1 => [
'test' => 'something'
]
],
1 => [
0 => [
'test' => 'value'
],
1 => [
'test' => 'something'
]
]
];
您需要以下循环:
foreach ($array as $key => $nested) {
foreach ($nested as $nested_value) {
// You have access to your inner arrays.
echo $nested_value['test'] . ' | ';
}
}
你的嵌套循环在$nested
哪里$value
。
现场示例
推荐阅读
- c++ - 全局范围内变量和函数的递归依赖
- powerbi - 计算列下一个日期 Power BI
- elixir - 如何在 Phoenix 上一次将字符串参数转换为整数
- c# - 检查一个字符数组的元素是否出现在另一个字符数组中
- python - 使用 smtplib 库在 python 中登录错误
- javascript - CSS如何在调整页面大小时防止元素重叠并保持元素固定?
- sql-server - 如何将 Flask 应用程序连接到 SQL Server?
- javascript - Console.log 上的数组返回数组长度但不是实际数组?
- python - SCIP 的数值问题:相同的问题,不同的最优值
- html - 表格没有显示超过某一行的行?