Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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 从一维创建二维数组_Php - Fatal编程技术网

Php 从一维创建二维数组

Php 从一维创建二维数组,php,Php,如何使用此阵列: Array ( [0] => Array ( [BLACK] => Array ( [0] => 3171 [1] => 3173 [2] => 3175 ) [WHITE] => Arr

如何使用此阵列:

Array
(
    [0] => Array
        (
            [BLACK] => Array
                (
                    [0] => 3171
                    [1] => 3173
                    [2] => 3175
                )

            [WHITE] => Array
                (
                    [0] => 3170
                    [1] => 3172
                    [2] => 3174
                )

        )

    [1] => Array
        (
            [SMALL] => Array
                (
                    [0] => 3170
                    [1] => 3171
                )

            [MEDIUM] => Array
                (
                    [0] => 3172
                    [1] => 3173
                )

            [LARGE] => Array
                (
                    [0] => 3174
                    [1] => 3175
                )

        )

)
我可以创建如下内容:

$array['BLACK']['SMALL'] = 3171;
$array['BLACK']['MEDIUM'] = 3173;
$array['BLACK']['LARGE'] = 3175;

$array['WHITE']['SMALL'] = 3170;
$array['WHITE']['MEDIUM'] = 3172;
$array['WHITE']['LARGE'] = 3174;
因此,从一维创建二维数组,其中选项相同。


<?php
$colors = array('BLACK' => array('3171','3173','3175'),'WHITE' => array('3170','3172','3174'));
$sizes = array('SMALL' => array('3170','3171'),'MEDIUM' => array('3172','3173'), 'LARGE' => array('3174','3175'));

$merged = array();
foreach ($colors as $c_key => $color) {
foreach ($color as $c_val) {
    foreach ($sizes as $s_key => $size) {
    foreach ($size as $s_val) {
        if  ($c_val == $s_val) {
            $merged[$c_key][$s_key] = $c_val;       
        }
    }
    }
}
}
// var_dump($merged);
?>

到目前为止您已经尝试了哪些。是黑色、小型、中型等常量?如果没有,您将丢失引号。真正有趣的是,此数组来自何处,您不能重新组织源代码。)此外,您还对数组的维数感到困惑。上面的例子中没有一维的