我希望以这种格式回显数据
[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显示的正确信息?
答案 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很重要,我会建议它是一个索引数组而不是关联..希望你找到解决方案:)