在 php 中回显二维关联数组

echoing out two dimensional associative arrays in php

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

[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 显示的正确信息?

$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) ;
}

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

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

-> 考虑到 $guide_info 是一个多维数组,例如 = array( [0] => 'guide_name' => $guide_name, 'guide_description' => $guide_description)

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

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

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]