【问题标题】:store Multidimensional array in php [closed]在php中存储多维数组[关闭]
【发布时间】:2014-10-17 08:40:45
【问题描述】:

我有这个内部连接查询,然后通过循环检索这些数据,然后使用 PHP 存储到 ARRAY。(见下图)

如上图所示。它有 3 列,我想将其按 WOKRORDER 分组,然后按 DateField 分组:(有关预期输出,请参见下图)

但这是结果的 console.log。我将它作为 JSON 传递给 Jquery,以便在 console.log 中查看我的数组存储是否正常。(见下图)

如何在 PHP 数组中做到这一点?

到目前为止,这是我存储代码的 php 数组:

$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']]=array(
                        $rowInnerJoin['DateField'] => array
                        (
                        'DatePosted' => $rowInnerJoin['DatePosted']
                        )
                    );

【问题讨论】:

  • 您的控制台显示“无法读取未定义的属性‘创建’”。你能发布你使用的JS代码吗
  • 哦。抱歉,它只是一个 google chrome 扩展错误。请忽略该错误。

标签: php jquery arrays multidimensional-array


【解决方案1】:

试试这个:

 if (!isset($ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']])) {
      $ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']]=array();
 }
$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']][$rowInnerJoin['DateField']] = array
                    (
                    'DatePosted' => $rowInnerJoin['DatePosted']
                    );

您的代码中发生的情况是您将“截止日期”设置为“工作订单”,然后将相同的值替换为“已接收”。因此,在每种情况下,您只会“收到”。我所做的是将数组的初始化和其中的值设置分开。

【讨论】:

  • 它不起作用,伙计。它给了我INternal Server Error
  • 对不起,我已经更正了,请重新检查,
  • 这件作品也不错.. 但我更喜欢@lpg 的答案。谢了哥们!但别担心,我也赞成你的。
【解决方案2】:

如果问题是每个 WorkOrders 只有一个 DateField,也许你应该在数组构造中添加 []

$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']][]=array(
    $rowInnerJoin['DateField'] => array
    (
        'DatePosted' => $rowInnerJoin['DatePosted']
    )
);

【讨论】:

  • 谢谢伙计!这行得通!我只是调整了一些代码.. 这里:$ListOfWorkOrderDates[$rowInnerJoin['WorkOrder']][$rowInnerJoin['DateField']]=array('DatePosted' => $rowInnerJoin['DatePosted']);
猜你喜欢
  • 1970-01-01
  • 2013-09-04
  • 2023-03-16
  • 2019-09-09
  • 2011-04-05
  • 2016-02-10
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多