【问题标题】:How to displays the value of dynamic arrays?如何显示动态数组的值?
【发布时间】:2016-02-12 00:23:32
【问题描述】:

我的数组是这样的:

$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...

这似乎是必要的加条件,但我还是很困惑

如何显示动态数组的值?

非常感谢任何帮助

【问题讨论】:

  • 第一个是多层次的,另一个是平面的,只需添加一个 if,is_array 或只是一个简单的isset 检查索引
  • @Ghost,` if(isset($a['CXLDay'])){ echo 'Day = '.$a['CXLDay'].', '; echo '费用 = '.$a['CXLFee'].'
    '; } else{ foreach($a as $key=>$value){ echo 'Day = '.$value['CXLDay'].', '; echo '费用 = '.$value['CXLFee'].'
    '; } `。像这样?

标签: php arrays


【解决方案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”。

【讨论】:

【解决方案2】:

您在代码中遗漏了某些内容...

来自

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

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

【讨论】:

    猜你喜欢
    • 2021-04-06
    • 2015-07-05
    • 2012-01-04
    • 2013-02-12
    • 2021-01-30
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多