Я пытаюсь нажать на трехмерный массив, но с проблемой.Попытка нажать на трехмерный массив в php
$players = array(
array("player1", array(0,1,2,1,2,1), array(0,1,3,4,6,7)
),
array("player2", array(0,3,2,3,1,2), array(0,3,5,8,9,11)
),
array("player3", array(0,2,3,1,2,3), array(0,2,5,6,8,11)
)
);
$roundNumber = 5;
function addScore($playerNumber, $playerScore){
array_push(($players[$playerNumber][1]), $playerScore);
$nextTotalScore = $playerScore + $players[$playerNumber][2][$roundNumber];
$players[$playerNumber][$playerNumber][2][$roundNumber] = $nextTotalScore;
}
addScore(0,5);
Я пытаюсь иметь трехмерный массив, который содержит имя игрока, то массив для круглого балла, то массив для общего балла. Кажется, он не распознает $ players [$ playerNumber] [1] как массив. Я получаю следующее предупреждение, указывающее на эту линию:
Предупреждение: array_push() ожидает параметр 1, чтобы быть массивом, Null данного
Я не знаю, как еще я должен назвать мои предназначенным массив. Должен ли я использовать функцию push?
Предлагаю вам добавить «глобальных игроков $, $ roundNumber; внутри вашей функции addScore. – Wizard
Возможный дубликат [Возрастание значения инициализации массива в php] (http://stackoverflow.com/questions/21240213/increasing-not-initialize-array-value-in-php) –
Не было бы $ $ игроков [$ playerNumber ] [$ playerNumber] [2] [$ roundNumber] = $ nextTotalScore' делает его четырехмерным массивом? – Revenant