[英]PHP - Trouble adding value to third dimensional array
首先我有一個這個數組場景:
$_SESSION['player_1_pawn'][] = 'Warrior';
現在,當我想添加第三維尺寸時,如下所示:
$_SESSION['player_1_pawn'][0]['x'] = 1;
我從這個輸出
>$_SESSION['player_1_pawn'][0] : '1arrior'
我的問題是,如何使這一價值作為“ Warrior
而不是“ 1arrior
?
如果值已經是一個字符串,則['x']
訪問該字符串的第一個字符(是的,不要問;))。
如果要用數組替換整個對象,請執行以下操作:
$_SESSION['player_1_pawn'][0] = array('x' => 1);
$_SESSION['player_1_pawn'][0]
不能同時是字符串“ Warrior” 和一個數組,因此要弄清楚它是哪個。 大概:
$_SESSION['player_1_pawn'][0] = array('type' => 'Warrior', 'x' => 1);
您的問題是$_SESSION['player_1_pawn'][0]
是等於“ Warrior”的標量值。 當您將標量作為數組對待時,就像您使用$_SESSION['player_1_pawn'][0]['x']
來評估$_SESSION['player_1_pawn'][0][0]
或“ W”一樣,更改字符串中的第一個字符。
如果您想保留“戰士”,請嘗試以下操作:
$_SESSION['player_1_pawn']=array('Warrior', 'x'=>1);
ETA:
根據您的要求,結構如下:
$_SESSION['player_1_pawn'] = array(
0 => array('Warrior', 'x'=>1),
1 => array('Wizard', 'x'=>7), //...
);
這意味着您可以這樣添加:
$_SESSION['player_1_pawn'][]=array('Warrior', 'x'=>1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.