Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在自身的递归assoc数组中转换assoc数组_Php_Arrays_Multidimensional Array_Logic - Fatal编程技术网

Php 在自身的递归assoc数组中转换assoc数组

Php 在自身的递归assoc数组中转换assoc数组,php,arrays,multidimensional-array,logic,Php,Arrays,Multidimensional Array,Logic,可能我没有在标题中很好地写下这个问题,但我将尝试通过几个例子来澄清: 我有一个这样的数组,这是我的第一个数组: Array( ELEMENT1( subelement1.1 subelement1.2 subelement1.3 ) ELEMENT2( subelement2.1 subelement2.2 subelement2.3 ) ELEMENT3(

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

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个元素
$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);