3

私は次のコードを持っています:

<!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配列として解釈されない理由を誰かが説明できますか?

4

1 に答える 1

4

中括弧で囲んでみてください。

print "<p> The distance between the 2 cities is {$distance[$cityA][$cityB]}</p>";
于 2012-08-14T14:35:15.410 に答える