问题描述
|
我在数组变量中有id和name字段,如何在休整的html中分别回显它们。
foreach($iterator as $key=>$value)
变量$ value具有id和name字段,我想分别在它们中回显它们
<div>id here</div> <div>name here</div>
我已经试过了
$hier = new hier;
$iterator = $hier->Pathroot($name);
try {
foreach($iterator as $key=>$value)
{
echo \'<div>\' . $value[\'id\'] . \'</div><div>\' . $value[\'name\'] . \'</div>\'
}
我采用了recursiveiterator函数,因为我不再使用旧的sql模型,因此不必再使用recursiveiterator。
Var_dump
array(1) { [0]=> array(2) { [\"name\"]=> string(14) \"Coloso\" [\"id\"]=> string(1) \"1\" } }
解决方法
迭代器包含一个数组数组,如下所示:
array(
// counter => array(id,name)
0 => array(\"1\",\"john\"),1 => array(\"2\",\"jane\")
etc...
)
在每个foreach循环上,迭代器都会在内部增加其计数器,以便返回下一个子数组,例如:
foreach ($iterator as $index => $value) {
// loop 1: index=0; value=array(id=1,name=john)
// loop 2: index=1; value=array(id=2,name=jane)
// loop 3: index=2; counter > count(array) - break
}
因此,如果您使用$value
,您应该得到所需的结果。
,您是否尝试过显而易见的:
echo \"<div>$key</div><div>$value</div>\";
,<div><?php echo $value[\'id\'] ?></div> <div><?php echo $value[\'name\'] ?></div>
,您需要确定要处理的是关联数组还是非关联数组。
关联数组将键映射到值。在您的代码中,如果$value
是一个关联数组:
echo \'<div>\' . $value[\'id\'] . \'</div><div>\' . $value[\'name\'] . \'</div>\';
会工作! (顺便说一句,您在代码中缺少结尾的分号,但我猜那只是粘贴错误)。
如果不是,$value
只是一个非关联数组,因此您需要创建另一个循环以打印值:
foreach($iterator as $key=>$value){
foreach($value as $val){
echo \'<div>\'.$val.\'</div>\';
}
}
您的语法表明您正在处理关联数组,但同样;您的代码将工作。
附带说明一下,以下两行代码是等效的(假设$ value再次是一个关联数组):
foreach($iterator as $key=>$value) echo $value[\'name\'];
foreach($iterator as $value) echo $value[\'name\'];