2016-02-12 77 views
0

我的数组是这样的:如何显示动态数组的值?

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

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

如何显示值动态数组?

非常感谢任何帮助

+1

第一个是多夷为平地,另一种是平的,如果只是增加一个,要么检查索引 – Ghost

+0

@ Ghost,如果(isset($ a ['CXLDay']))'is_array'或者只是一个简单的'isset' {echo'Day ='。$ a ['CXLDay'] 。 ','; \t echo'Fee ='。$ a ['CXLFee']''
'; \t} \t否则{ \t \t的foreach($ a作为$密钥=> $值){ \t回波节='$值[ 'CXLDay'] ''。。; \t echo'Fee ='。$ value ['CXLFee']。''
'; \t} \t}'。像那样? –

回答

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

我需要你帮忙。看看这里:http://stackoverflow.com/questions/39652796/why-multiple-datepicker-not-working/39652870#39652870 –

0

你错过了在你的代码的东西...

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

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