Search code examples
phparrayszend-server

'undefined offset errors' php multidimensional array


I'm trying to get a php program to build a multidimensional array from data in another array.

$n = 13;
while($n <=22){
    $itemName = $outputFields['FLD_'+ $n +'_002']['value'];
    $itemUM = $inputFields['FLD_'+ $n +'_029']['value'];
    $itemUnits = $inputFields['FLD_'+ $n +'_032']['value'];
    $itemUnitsPrice = $outputFields['FLD_'+ $n +'_045']['value'];
    $itemExtendedPrice = $outputFields['FLD_'+ $n +'_060']['value'];
    $itemLT = $outputFields['FLD_'+ $n +'_076']['value'];
    $arrItems[$itemName][$itemUM][$itemUnits][$itemUnitsPrice][$itemExtendedPrice][$itemLT] = true;
    $n++;   
}

The idea end result should be like so:

Array
(
    [13] => Array
        (
            [itemName]
            [itemUM]
            [itemUnits]
            ...
        )
    ...
    [22] => Array
        (
            [itemName]
            [itemUM]
            [itemUnits]
            ...
        )
)

Currently getting "undefined offset" errors.


Solution

  • Try this code:

    $n = 13;
    while($n <=22){
        $arrItems[$n]['itemName'] = $outputFields['FLD_'. $n .'_002']['value'];
        $arrItems[$n]['itemUM'] = $inputFields['FLD_'. $n .'_029']['value'];
        $arrItems[$n]['itemUnits'] = $inputFields['FLD_'. $n .'_032']['value'];
        $arrItems[$n]['itemUnitsPrice'] = $outputFields['FLD_'. $n .'_045']['value'];
        $arrItems[$n]['itemExtendedPrice'] = $outputFields['FLD_'. $n .'_060']['value'];
        $arrItems[$n]['itemLT'] = $outputFields['FLD_'. $n .'_076']['value'];
        $n++;   
    }