复数多维数组
Complex MultiDimensional Array
我正在使用 API 获取数据,它 returns 数组中的数据。现在我想获取我需要的数据并移动到一个新数组中。
$shipments = Array
(
[0] => Array
(
[AmazonOrderId] => 12321313
[SellerOrderId] =>
[MarketplaceName] => Amazon.com
[PostedDate] => 2018-10-01T14:21:46Z
[ShipmentItemList] => Array
(
[0] => Array
(
[SellerSKU] => 12-12321-1231
[OrderItemId] => 1212313
[QuantityShipped] => 1
[ItemChargeList] => Array
(
[0] => Array
(
[ChargeType] => Principal
[Amount] => 6.95
[CurrencyCode] => USD
)
[1] => Array
(
[ChargeType] => Principal
[Amount] => 6.95
[CurrencyCode] => USD
)
)
)
)
)
)
我想从最里面的数组中获取金额。但我无法遍历所有嵌套数组,也找不到解决方案。
我可以通过这段代码得到我想要的值。但它得到 1,我需要动态数据。
function myfunction($products, $field, $value)
{
foreach($products as $key => $product)
{
if ( $product[$field] === $value )
return $key;
var_dump($product[$field][0]['ItemChargeList'][0]['Amount']);
}
return false;
}
我也尝试遍历所有数组,但它看起来很乱。
if($shipment){
foreach($shipment as $shiptmentList){
foreach($shiptmentList as $key => $shiporder){
foreach($shiporder as $key => $itemcharge){
foreach($itemcharge as $key=> $eachcharge){
var_dump($eachcharge[0]['Amount']);
}
}
}
}
}
请告诉我什么是遍历项目并获得我需要的数量的正确方法。谢谢
如果数据的结构是一致的,你可以使用这样的东西:
foreach($shipments as $shipment)
foreach($shipment["ShipmentItemList"] as $itemList)
foreach($itemList["ItemChargeList"] as $chargedItem) {
echo $chargedItem["Amount"];
echo print_r($chargedItem);
}
我正在使用 API 获取数据,它 returns 数组中的数据。现在我想获取我需要的数据并移动到一个新数组中。
$shipments = Array
(
[0] => Array
(
[AmazonOrderId] => 12321313
[SellerOrderId] =>
[MarketplaceName] => Amazon.com
[PostedDate] => 2018-10-01T14:21:46Z
[ShipmentItemList] => Array
(
[0] => Array
(
[SellerSKU] => 12-12321-1231
[OrderItemId] => 1212313
[QuantityShipped] => 1
[ItemChargeList] => Array
(
[0] => Array
(
[ChargeType] => Principal
[Amount] => 6.95
[CurrencyCode] => USD
)
[1] => Array
(
[ChargeType] => Principal
[Amount] => 6.95
[CurrencyCode] => USD
)
)
)
)
)
)
我想从最里面的数组中获取金额。但我无法遍历所有嵌套数组,也找不到解决方案。 我可以通过这段代码得到我想要的值。但它得到 1,我需要动态数据。
function myfunction($products, $field, $value)
{
foreach($products as $key => $product)
{
if ( $product[$field] === $value )
return $key;
var_dump($product[$field][0]['ItemChargeList'][0]['Amount']);
}
return false;
}
我也尝试遍历所有数组,但它看起来很乱。
if($shipment){
foreach($shipment as $shiptmentList){
foreach($shiptmentList as $key => $shiporder){
foreach($shiporder as $key => $itemcharge){
foreach($itemcharge as $key=> $eachcharge){
var_dump($eachcharge[0]['Amount']);
}
}
}
}
}
请告诉我什么是遍历项目并获得我需要的数量的正确方法。谢谢
如果数据的结构是一致的,你可以使用这样的东西:
foreach($shipments as $shipment)
foreach($shipment["ShipmentItemList"] as $itemList)
foreach($itemList["ItemChargeList"] as $chargedItem) {
echo $chargedItem["Amount"];
echo print_r($chargedItem);
}