PHP - 无法为第三维数组添加值

mac*_*ord 2 php

我有一个这个数组场景:

$_SESSION['player_1_pawn'][] = 'Warrior';
Run Code Online (Sandbox Code Playgroud)

现在当我想添加像这样的第三个维度值时:

$_SESSION['player_1_pawn'][0]['x'] = 1;
Run Code Online (Sandbox Code Playgroud)

我得到了这个输出

>$_SESSION['player_1_pawn'][0] : '1arrior'
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何使该值保持不变Warrior而不是1arrior

dec*_*eze 6

如果该值已经是一个字符串,则['x']访问该字符串的第一个字符(是的,不要问;)).

如果要用数组替换整个事物,请执行以下操作:

$_SESSION['player_1_pawn'][0] = array('x' => 1);
Run Code Online (Sandbox Code Playgroud)

你不能$_SESSION['player_1_pawn'][0]同时成为字符串"Warrior" 数组,所以要弄明白你想要它.大概:

$_SESSION['player_1_pawn'][0] = array('type' => 'Warrior', 'x' => 1);
Run Code Online (Sandbox Code Playgroud)