在php中回显出二维关联数组

时间:2016-06-29 18:01:53

标签: php arrays multidimensional-array associative-array

我希望以这种格式回显数据

[0] - [姓名] [描述]
[1] - [名称] [描述]
[2] - [名称] [描述]

$options = array('guide_info' => $guide_info);

$guide_info = array( 'guide_name' => $guide_name, 
                     'guide_description' => $guide_description 
                   );

我创建了两个foreach循环来尝试回显每个的名称和描述,如下所示:

foreach ($options as $key => $value) {
    foreach ($guide_info as $type => $info){
        $html .= $type . " " . $info . "\n";
    }
}

但是我在第二个循环上收到有关为foreach()提供的无效参数的错误。

目前我的print_r($ options)显示为

Array ( [guide_name] => f 
        [guide_description] => fff 
        [0] => Array ( 
                       [guide_name] => fsss 
                       [guide_description] => sssss 
                     ) 
       )

和我的回声打印

guide_name fsss 
guide_description sssss 
guide_name fsss 
guide_description sssss 
guide_name fsss 
guide_description sssss

我如何能够回显出print_r显示的正确信息?

3 个答案:

答案 0 :(得分:1)

使用递归函数以所需格式回显名称和描述值。

function process_array($arr, $counter){
    foreach($arr as $key => $value){
        if(is_array($value)){
            process_array($value, ++$counter);
        }else{
            if($key == "guide_name"){
                echo "[" . $counter . "] - [" . $value . "][";
            }else{
                echo $value . "]<br />";
            }
        }
    }
}

// Here $options is your original array
process_array($options, 0);

<强>输出:

[0] - [f][fff]
[1] - [fsss][sssss]

答案 1 :(得分:0)

$guide_info = array( 'guide_name' => 'guid name', 
                 'guide_description' => 'guid description',
               );
 $options = array('guide_info' => $guide_info); 

 foreach ($options as $key => $value) {
   foreach($value as $a => $b) {
echo $a," =",$b ;
 }
} 

或用于print_r

foreach ($options as $key => $value) {
    print_r($value) ;
}

答案 2 :(得分:0)

为什么要将$ guide_info放在$ options中。如果你想要$ guide_info中的所有条目,你可以这样做 -

    for($i = 0; $i < count($guide_info); $i++){
        $html .= $type . " " . $info . "\n";
    }

- &GT;考虑$ guide_info是一个多维数组,如= array([0] =&gt;&#39; guide_name&#39; =&gt; $ guide_name,                      &#39; guide_description&#39; =&GT; $ guide_description)

如果由于某种原因$ guide_info很重要,我会建议它是一个索引数组而不是关联..希望你找到解决方案:)