我有以下代码:
<!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数组吗?
答案 0 :(得分:4)
尝试用大括号包裹它。
print "<p> The distance between the 2 cities is {$distance[$cityA][$cityB]}</p>";