PHP foreach不循环

时间:2013-05-28 16:02:56

标签: php foreach

我刚刚构建了一个简单的foreach循环来运行数组,但没有显示任何内容。 顺便说一句,没有php错误。

有人可以告诉我为什么这不起作用吗?

$test = array (
            "1" => array(
                "name"=>"something"
            ),
            "2" => array(
                "name"=>"something"
            )
        );

foreach ($test as $key => $arr) {
    echo $arr[$key]["name"];
}

7 个答案:

答案 0 :(得分:5)

只需使用$arr["name"]代替$arr[$key]["name"]

答案 1 :(得分:4)

我认为你的意思是......

foreach ($test as $key => $arr) {
    echo $test[$key]["name"];
}

或者,更简单......

foreach ($test as $key => $arr) {
    echo $arr["name"];
}

答案 2 :(得分:1)

foreach ($test as $key => $arr) {
    echo $test[$key]["name"];
}

OR

foreach ($test as $key => $arr) {
    echo $arr["name"];
}

答案 3 :(得分:0)

您的数组的编写方式是“1”和“2”是值而不是键。

你需要的是:

$test = array (
        array(
            "name"=>"something"
        ),
        array(
            "name"=>"something"
        )
    );

另外,你的foreach上有一个错字。您需要$test[$key]而不是$arr[$key]

答案 4 :(得分:0)

您应该在数组引用中使用$ key键。

foreach ($test as $arr) {
   echo $arr["name"];
}

您可以像

那样处理数组的字段
foreach ($test as $key=>$arr) {
    $test[$key][$name]
}

但这样做不要使用对内部数组的直接引用

答案 5 :(得分:0)

试试这个,

foreach ($test as $key => $arr) {
    echo $arr["name"];
}

答案 6 :(得分:0)

使用

echo $arr["name"];

echo $test[$key]["name"];