简体   繁体   中英

PHP Multidimentional Array error

We are working on a Monopoly game in PHP as a class project and none of us cab figure this out. We need to create and use a multidimentional array for the properties in the game. Below is an example of what this looks like.

$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)

When we try to run this, we get this output.

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

Why is it giving us "Array[9]" instead of 60? Thank you for your time.

Complex array and object expressions need to be wrapped in curly braces {} :

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

Or break out of the quotes and concatenate:

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

See Variable Parsing - Complex (curly) Syntax .

echo a PHP variable has its own convention, you can echo a variable as string but sometime it will not work perfectly, So you need to use . concatenation of the variable with string.

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

If you want to use variables inside echo then must use {} .

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

Simply change this part

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

with this

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

You can check it out in this Fiddle

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM