【问题标题】:Transform assoc array in recursive assoc array of itself在自身的递归 assoc 数组中转换 assoc 数组
【发布时间】:2014-03-21 15:46:27
【问题描述】:

可能我没有很好地在标题中写下这个问题,但我会尝试通过几个例子来澄清: 我有一个这样的数组,这是我的第一个数组:

Array(
    ELEMENT1(
        subelement1.1
        subelement1.2
        subelement1.3
    )
    ELEMENT2(
        subelement2.1
        subelement2.2
        subelement2.3
    )
    ELEMENT3(
        subelement3.1
        subelement3.2
        subelement3.3
    )
)

这就是我能够得到的结果

Array(
    ELEMENT1(
        subelement1.1
             ELEMENT2(
                subelement2.1
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
                subelement2.2
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
                subelement2.3
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
            )
        subelement1.2
             ELEMENT2(
                subelement2.1
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
                subelement2.2
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
                subelement2.3
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
            )
        subelement1.3
             ELEMENT2(
                subelement2.1
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
                subelement2.2
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
                subelement2.3
                     ELEMENT3(
                        subelement3.1
                        subelement3.2
                        subelement3.3
                    )
            )
    )

)

我想了解这种类型的数组之间的交互的名称是什么,如果可能的话,一个逻辑解释来执行这个操作。

【问题讨论】:

  • 只是想知道:这种数组的实际用例是什么?为什么要这样做?
  • 我想创建一个通用的分类系统,基于它们之间相交的 N 个元素

标签: php arrays multidimensional-array logic


【解决方案1】:

我想你想做一个简单的数据重组。假设您要将来自不同制造商的某些产品连接到几个不同的类别,理想情况下选择它们,例如在查询或条件中,并设置此数组。良好做法:

...

$subelements = array(
    'ELEMENT1' => array(
    'subelement1.1' => 'sector 1',
    'subelement1.2' => 'sector 10',
    'subelement1.3' => 'sector 10'
    ),
    'ELEMENT2' => array(
    'subelement2.1' => 'sector 5',
    'subelement2.2' => 'sector 1',
    'subelement2.3' => 'sector 7'
    ),
    'ELEMENT3' => array(
    'subelement3.1' => 'sector 2',
    'subelement3.2' => 'sector 7',
    'subelement3.3' => 'sector 10'
    )
);

foreach($subelements as $key => $value)
{
    foreach($value as $key2 => $value2)
    {
        $example[$value2][$key][] = $key2;      
    }
}

print_r($example);

...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多