繁体   English   中英

PHP foreach不循环

[英]PHP foreach not looping

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

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

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

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

只需使用$arr["name"]而不是$arr[$key]["name"]

我想你的意思是......

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

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

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

要么

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

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

你需要的是:

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

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

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

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

你可以解决数组的字段

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

但这样做你不会使用直接引用内部数组

尝试这个,

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

采用

echo $arr["name"];

要么

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM