打印PHP 2D阵列

时间:2012-08-14 14:32:15

标签: php arrays multidimensional-array

我有以下代码:

<!DOCTYPE html>
<html >
<head>
    <title>Distance</title>
</head>

<body>
    <?php

        $distance = array(
            array(0, 200, 57, 223),
            array(200, 0, 150, 5),
            array(57, 150, 0, 177),
            array(57, 150, 0, 177),
            array(223, 5, 177, 0)
        );

        $cityA = filter_input(INPUT_POST, "cityA");
        $cityB = filter_input(INPUT_POST, "cityB");
        $result = $distance[$cityA][$cityB];

        print "<p> The distance between the 2 cities is $result</p>";

    ?>
</body>
</html>

代码:

 print "<p> The distance between the 2 cities is $result</p>";

结果是:

The distance between the 2 cities is 177

但如果我把它改为:

 print "<p> The distance between the 2 cities is $distance[$cityA][$cityB]</p>";

结果变为:

The distance between the 2 cities is Array[0]

当我尝试直接打印时,有人可以解释为什么$ distance [$ cityA] [$ cityB]不会被解释为2D数组吗?

1 个答案:

答案 0 :(得分:4)

尝试用大括号包裹它。

print "<p> The distance between the 2 cities is {$distance[$cityA][$cityB]}</p>";