【问题标题】:Grouping Multidimensional Arrays by Particular Value with nested Standard Class Objects使用嵌套的标准类对象按特定值对多维数组进行分组
【发布时间】:2025-12-21 10:00:06
【问题描述】:

在上一篇文章中,有一个关于多维数组分组的非常有用的答案。我的问题与我的初始数组具有嵌套的标准类对象的扭曲类似。我的数组如下所示:

Array
(
    [0] => stdClass Object
        (
            [InstallationAddress2] => LAKEWOOD, CA  90000
            [LineitemmasterDescription] => Apples
            [Workorder_id] => W008052094
        )

    [1] => stdClass Object
        (
            [InstallationAddress2] => Santa Rosa, CA  90230
            [LineitemmasterDescription] => Berries
            [Workorder_id] => W008022342
        )

    [2] => stdClass Object
        (
            [InstallationAddress2] => LAKEWOOD, CA  90000
            [LineitemmasterDescription] => Apples
            [Workorder_id] => W008052094
        )
)

就像之前的帖子一样,我希望得到类似的东西

Array
(
    [1] => Array
        [0] => Array
            (
            [InstallationAddress2] => LAKEWOOD, CA  90000
            [LineitemmasterDescription] => Apples
            [Workorder_id] => W008052094
           )

        [1] => Array
          (
            [InstallationAddress2] => LAKEWOOD, CA  90000
            [LineitemmasterDescription] => Apples
            [Workorder_id] => W008052094
          )

        [2] => Array
        (
            [InstallationAddress2] => Santa Rosa, CA  90230
            [LineitemmasterDescription] => Berries
            [Workorder_id] => W008022342
        )
)

我遇到的问题是标准类对象拒绝被强制转换为数组。

【问题讨论】:

  • 上一个问题是什么?您是否必须将对象转换为数组?更改代码以处理对象而不是数组可能更容易。

标签: php arrays object multidimensional-array grouping


【解决方案1】:

通过遍历您的数组对每个 std 对象进行(数组)类型转换。

for($i=0;$i< count($myArray);  $i++)
    $myArray[$i] = (array)$myArray[$i];

然后您可以应用您的分组逻辑。 请参阅类型转换示例:http://codepad.org/uVuBzBm8

【讨论】: