我有產品的詳細信息如下JSON文件:Laravel的PHP獲得最後一個元素的多維數組
"products": [
{
"sku": 123,
"name": "iphone 7",
"categoryPath": [
{
"id": "abcat0800000",
"name": "Cell Phones"
},
{
"id": "pcmcat209400050001",
"name": "All Cell Phones with Plans"
}
],
}
]
我想只存儲最後一個值categoryPath陣列(ID和名稱):
"id": "pcmcat209400050001", "name": "All Cell Phones with Plans"
我當前的代碼需要JSON文件,解碼JSON和產品表中插入的信息。
$json = File::get("/json/cell-0.json");
$data = json_decode($json);
$array1 = (array)$data;
//table products
foreach ($array1['products'] as $obj) {
DB::table('products')->insert(array(
'productSku' => ((isset($obj->sku) ? $obj->sku : 1)),
'productName' => ((isset($obj->name) ? $obj->name : null)),
'categoryId' => end($obj->categoryPath->id),
'categoryName' => end($obj->categoryPath->name)
));
考慮到基於陣列> categoryPath有多個領域,我想使用的功能(例如:結束())以只取最後一個值的ID和名稱。
使用結束($ obj-> categoryPath-> ID),我收到以下錯誤 - >
試圖修改非對象
的屬性這是檢索的最佳方式多維數組的最後一個值?
優秀,謝謝! –