php多维数组推送

时间:2010-01-15 15:01:09

标签: php multidimensional-array

是否可以将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为数组,对象在第94行的/opt/lampp/htdocs/sandboxj/blog/wp-content/plugins/Shifty/AddShift.php中给出

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

顾名思义,$ ObjectArray可能是一个对象数组,而不是一个数组数组。所以你试图将值推入一个对象。

<击> 修改
我假设你没有在这里显示$ ObjectArray的实际内容BTW。这是对的吗?

编辑2
嗯,我现在已经对它进行了测试,即使$ objectArray保存了对象,你正在处理的示例也能正常工作。所以这里可能还有其他东西,我们没有看到。

您确定$ ObjectArray在处理它时是一个数组吗?

编辑3
在array_push调用之前执行var_dump($ ObjectArray)时会得到什么?

答案 1 :(得分:0)

你可以做到

$MasterShiftArray[$last_monday_from_date][$CurrentShift->Offset][$CurrentShift->Shift][] = $CurrentShift;