如何在PHP中使用三维数组

5
我正在使用php进行图像处理,通常我从未在php中使用过数组。
我必须将原始图像的RGB值保留在三维数组中。
例如,rgbArray [] [] []
第一个[]表示重量,第二个[]用于保存高度,最后一个用于保存红色、绿色或蓝色。如何在php中创建一个可以保持这组值的数组?
谢谢您的帮助。
4个回答

3
我认为您正在寻找一个二维数组: ```我认为您正在寻找一个二维数组:```
$rgbArray[$index] = array('weight'=>$weight, 'height'=>$height, 'rgb'=>$rgb);

但是这里有一个三维数组,可能对你所问的有意义。

$rgpArray[$index] = array('red'=>array('weight'=>$weight, 'height'=>$height),
                          'green'=>array('weight'=>$weight, 'height'=>$height),
                          'blue'=>array('weight'=>$weight, 'height'=>$height));

请给我一个使用它的例子。例如,我如何将值分配给rgbArray [1] [1] [red]? - Guilgamos
只需引用'red'。因此,您的语句将为$rgbArray [1] [1] ['red'] = $value; 它的英文读作“具有权重1、高度1和红色RGB的rgbArray的值为value。” - Parris Varney

2
如果您的数组
$rgbArray = array('red'=>array('weight'=>$weight, 'height'=>$height),
                  'green'=>array('weight'=>$weight, 'height'=>$height),
                  'blue'=>array('weight'=>$weight, 'height'=>$height));

然后你可以将值分配给rgbArray,如下:
$weight = $rgbArray['red']['weight']
$height = $rgbArray['red']['height']

如果您的数组

$rgbArray = array('red'=>array($weight, $height),
                  'green'=>array($weight, $height),
                  'blue'=>array($weight, $height));

然后你可以将值分配给rgbArray,如下:
$weight = $rgbArray['red'][0]
$height = $rgbArray['red'][1]

2

定义三维数组

$threeDimArray = array(array(
                        array("reza", "daud", "ome"),
                        array("shuvam", "himel", "izaz"),
                        array("sayanta", "hasib", "toaha")));

打印三维数组
for ($i=0; $i < count($threeDimArray); $i++) { 
    for ($j=0; $j < count($threeDimArray[$i]); $j++) { 
        for ($k=0; $k < count($threeDimArray[$i][$j]); $k++) { 
            echo $threeDimArray[$i][$j][$k];
            echo " ";
        }
        echo "<br>";
    }
}

1

你的例子有点混淆rgbArray[1][1][red],看起来你想要这个:

$rgbArray = array(1 => array(1 => array('red' => 'value')));
echo $rgbArray[1][1]['red']; // prints 'value'

我建议跟PMV所说的一样,下一步做如下处理:
$rgbArray = array('weight' => 1, 'height' => 1, 'rgb' => 'red' );

或者

$rgbArray = array();
$rgbArray['weight'] = 1; // int value
$rgbArray['height'] = 1; // int value
$rgbArray['rgb'] = 'red'; // string value

如果这不是你想要的,请更具体地说明以便得到帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接