PHP многомерный массив толкает - PullRequest
0 голосов
/ 15 января 2010

Возможно ли array_push для многомерного массива?

Создание массива с использованием:

$ObjectArray = array();
$ShiftArray = array($ObjectArray);
$WeekShiftArray = array($ShiftArray);
$MasterShiftArray = array($WeekShiftArray);

И пытаться выдвинуть массив, используя

array_push($MasterShiftArray[$last_monday_from_date][$CurrentShift->Offset][$CurrentShift->Shift], $CurrentShift);

Но я получаю:

Предупреждение: array_push () ожидает, что параметр 1 будет массивом, объект указан в /opt/lampp/htdocs/sandboxj/blog/wp-content/plugins/Shifty/AddShift.php в строке 94

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 15 января 2010

вы могли бы просто сделать

$MasterShiftArray[$last_monday_from_date][$CurrentShift->Offset][$CurrentShift->Shift][] = $CurrentShift;
0 голосов
/ 15 января 2010

Как видно из названия, $ ObjectArray, вероятно, является массивом объектов, а не массивом массивов. Итак, вы пытаетесь вставить значения в объект.

EDIT
Я предполагаю, что вы не показываете фактическое содержимое $ ObjectArray здесь, кстати. Это правильно?

РЕДАКТИРОВАТЬ 2
Хм, я уже проверил это, и уровни, к которым вы обращаетесь, прекрасно работают с примером, который вы приводите, даже если $ objectArray содержит объекты. Так что, вероятно, здесь происходит что-то еще, чего мы не видим.

Вы уверены, что $ ObjectArray является массивом во время его адресации?

РЕДАКТИРОВАТЬ 3
Что вы получаете, когда делаете var_dump ($ ObjectArray) прямо перед вызовом array_push?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...