<?php
$packageColumns = array(
'SequenceNumber' => 1,
'GroupPackageCount' => 1,
'Weight' => array(
'Value' => array('pkg_weight' => 2),
'Units' => 'LB'
),
'Dimensions' => array(
'Length' => array('pkg_length' => 6),
'Width' => array('pkg_width' => 5),
'Height' => array('pkg_height' => 3),
'Units' => 'IN'
)
);
$package = array(
'pkg_weight' => 96,
'pkg_height' => 0,
'pkg_width' => 0,
'pkg_length' => 0
);
$newPackage = array();
foreach($packageColumns as $col => $def) {
if(is_array($def)) {
$newPackage[$col] = array();
foreach($def as $k => $default) {
if(is_array($default)) {
$key = key($default);
$defaultValue = $default[$key];
} else {
$key = $k;
$defaultValue = $default;
}
if(isset($package[$key])) {
$newPackage[$col][$k] = $package[$key];
} else if(isset($newPackage[$col][$k])) {
continue;
} else {
$newPackage[$col][$k] = $defaultValue;
}
}
} else {
if(isset($package[$col])) {
$newPackage[$col] = $package[$col];
} else if(isset($newPackage[$col])) {
continue;
} else {
$newPackage[$col] = $def;
}
}
}
echo '<pre>';
print_r($newPackage);
echo '</pre>';
preferences:
48.89 ms | 402 KiB | 5 Q