PHP Multidimentional Array错误

时间:2016-05-23 18:07:53

标签: php arrays multidimensional-array

我们正在开发PHP中的Monopoly游戏作为一个类项目,我们都没有想到这一点。 我们需要为游戏中的属性创建和使用多维数组。下面是一个这样的例子。

$arr2=array();
$prop=array(1,3,6);
$cost=array(60,60,100);

$stuff=$prop[0];
$arr2[$stuff][9]=$cost[0];
echo"$stuff --- $arr2[$stuff][9]"; //(this is line 64)

当我们尝试运行它时,我们得到这个输出。

Notice: Array to string conversation in ... line 64
1 --- Array[9]

为什么它给我们“数组[9]”而不是60? 感谢您的时间。

3 个答案:

答案 0 :(得分:3)

复杂的数组和对象表达式需要用花括号{}包裹:

echo "$stuff --- {$arr2[$stuff][9]}";

或者突破引号并连接:

echo "$stuff --- " . $arr2[$stuff][9];
//or
echo $stuff . " --- " . $arr2[$stuff][9];

请参阅Variable Parsing - Complex (curly) Syntax

答案 1 :(得分:1)

回显一个PHP变量有自己的约定,你可以将一个变量作为字符串回显,但有时它不会完美地工作,所以你需要使用.连接变量和字符串。

echo $stuff." --- ".$arr2[$stuff][9]; //1 --- 60

如果要在echo中使用变量,则必须使用{}

echo "{$stuff} --- {$arr2[$stuff][9]}"; //1 --- 60

答案 2 :(得分:0)

只需更改此部分

即可
echo"$stuff --- $arr2[$stuff][9]"; //(this is line 64)

用这个

echo $stuff." --- ".$arr2[$stuff][9]; //(this is line 64)

您可以在此Fiddle

中查看