2

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

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

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

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

7 回答 7

5

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

于 2013-05-28T16:06:18.990 回答
4

我想你的意思是...

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

或者,更简单的...

foreach ($test as $key => $arr) {
    echo $arr["name"];
}
于 2013-05-28T16:05:52.770 回答
1
foreach ($test as $key => $arr) {
    echo $test[$key]["name"];
}

或者

foreach ($test as $key => $arr) {
    echo $arr["name"];
}
于 2013-05-28T16:07:38.393 回答
0

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

你需要的是:

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

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

于 2013-05-28T16:05:26.330 回答
0

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

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

您可以解决数组的字段,例如

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

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

于 2013-05-28T16:06:24.570 回答
0

试试这个,

foreach ($test as $key => $arr) {
    echo $arr["name"];
}
于 2013-05-28T16:06:37.173 回答
0

采用

echo $arr["name"];

或者

echo $test[$key]["name"];
于 2013-05-28T16:07:04.410 回答