我有一个有两个字段值的数组,我想分别回显

时间:2011-05-01 23:16:03

标签: php

我在数组变量中有id和name字段,如何在fhlowing 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" } } 

4 个答案:

答案 0 :(得分:1)

你有没有试过这个显而易见的事情:

echo "<div>$key</div><div>$value</div>";

答案 1 :(得分:0)

<div><?php echo $value['id'] ?></div>    <div><?php echo $value['name'] ?></div>

答案 2 :(得分:0)

迭代器包含一系列数组,如下所示:

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,你应该得到你需要的结果。

答案 3 :(得分:0)

您需要了解您是在处理关联数组还是非关联数组。

关联数组将键映射到值。在您的代码中,如果$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'];