【问题标题】:php Multidimensional Array pushingphp多维数组推送
【发布时间】:2010-01-15 15:01:09
【问题描述】:

可以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 行中给出

任何帮助将不胜感激。

【问题讨论】:

    标签: php multidimensional-array


    【解决方案1】:

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

    编辑
    我假设您没有在这里显示 $ObjectArray 的实际内容 BTW。这是正确的吗?

    编辑 2
    嗯,我现在已经对其进行了测试,即使 $objectArray 包含对象,您正在处理的级别也可以与您提供的示例一起正常工作。因此,这里可能还发生了我们没有看到的其他事情。

    您确定 $ObjectArray 在寻址时是一个数组吗?

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

    【讨论】:

      【解决方案2】:

      你可以这样做

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

      【讨论】:

        猜你喜欢
        • 2017-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多