如何显示动态数组的值?

时间:2016-02-12 00:23:33

标签: php arrays

我的数组是这样的:

$a = array(
    array('CXLDay' => 8,
        'CXLRemark' => array(),
        'CXLFee'    =>150
    ),
    array('CXLDay' => 5,
        'CXLRemark' => array(),
        'CXLFee'    =>100
    ),
);

我使用以下代码显示它:

foreach($a as $key=>$value)
{
    echo 'Day = '.$value['CXLDay'].', ';
    echo 'Fee = '.$value['CXLFee'].'<br>'; 
}

但是,如果我的数组改变如下:

$a = array(
    'CXLDay' => 8,
    'CXLRemark' => array(),
    'CXLFee'    =>553191.010000
);

存在这样的错误:

  

注意:未定义的索引:CXLDay ...

     

注意:未定义的索引:CXLFee ...

这似乎是必要的加条件,但我仍然感到困惑

如何显示动态数组的值?

任何帮助非常感谢

2 个答案:

答案 0 :(得分:1)

以下代码示例将在您的示例中输出两个数组。

if(array_key_exists('CXLDay',$a)){
    echo 'Day = '.$a['CXLDay'].', ';
    echo 'Fee = '.$a['CXLFee'].'<br>'; 
}elseif(count($a) && array_key_exists('CXLDay',$a[0])){
    foreach($a as $key=>$value){
        echo 'Day = '.$value['CXLDay'].', ';
        echo 'Fee = '.$value['CXLFee'].'<br>'; 
    }
}

但是,它总是依赖于阵列中存在的数组键“CXLDay”。

答案 1 :(得分:0)

你错过了代码中的某些内容......

$a = array(
    'CXLDay' => 8,
    'CXLRemark' => array(),
    'CXLFee'    =>553191.010000
);

$a = array(
        array('CXLDay' => 8,
            'CXLRemark' => array(),
            'CXLFee'    =>553191.010000
        )
);