在 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]
我希望数据以这种格式回显
[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]