I did a quick test using this script:
<?php
$myarray = [
'DETAIL' => [
[
'ProductCode' => '4XXXXX',
'LineItemNumber' => 20,
'AllowanceAmount' => [],
'AllowancePercent' => [],
'Description' => 'ITEM DESCRIPTION',
'LineItemAmount' => '00000000200.00',
'Quantity' => '0000001.0000',
'UnitPriceAmount' => '0000200.000000',
'UnitOfMeasure' => 'EA',
'PriceUnitOfMeasure' => [],
'SKUNumber' => [],
'UPCNumber' => [],
'ExternalCategory' => '4M'
]
]
];
$line_item = $myarray['DETAIL'];
print_r($line_item);
$Ln_Discount = 0;
// This creates each line
foreach ($line_item as $value) {
$LineItemAmount = $value["LineItemAmount"];
$Description = $value['Description'];
$ProductCode = $value['ProductCode'];
$UnitPriceAmount = $value['UnitPriceAmount'];
$Quantity = $value['Quantity'];
echo $Quantity . ' ' . $ProductCode . ' ' . $UnitPriceAmount . ' ' . $Description . ' ' . $LineItemAmount;
}
My output:
Array
(
[0] => Array
(
[ProductCode] => 4XXXXX
[LineItemNumber] => 20
[AllowanceAmount] => Array
(
)
[AllowancePercent] => Array
(
)
[Description] => ITEM DESCRIPTION
[LineItemAmount] => 00000000200.00
[Quantity] => 0000001.0000
[UnitPriceAmount] => 0000200.000000
[UnitOfMeasure] => EA
[PriceUnitOfMeasure] => Array
(
)
[SKUNumber] => Array
(
)
[UPCNumber] => Array
(
)
[ExternalCategory] => 4M
)
)
0000001.0000 4XXXXX 0000200.000000 ITEM DESCRIPTION 00000000200.00
So I am afraid that I am unable to replicate your bug, so perhaps the problem lies elsewhere.