How to define and use 3D array of numbers in PHP

4 Answers

0 votes
function recursive_print_multi_d_array($arr, $in="array")
{ 
   while (list($key, $value) = each($arr))
   { 
         if (is_array($value))
         { 
            recursive_print_multi_d_array($value, $in."[$key]"); 
         } 
         else 
         { 
            for ($i = 0; $i < count($value); $i++)
                 echo $in."[$key]=".$value."<br />"; 
         } 
   } 
} 

$arr2d = array(array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9)),
               array(array(11, 22, 33), array(44, 55, 66), array(77, 88, 99)),
               array(array(112, 222, 333), array(444, 555, 666), array(777, 888, 999)));

recursive_print_multi_d_array($arr2d); 

/*

run:

array[0][0][0]=1
array[0][0][1]=2
array[0][0][2]=3
array[0][1][0]=4
array[0][1][1]=5
array[0][1][2]=6
array[0][2][0]=7
array[0][2][1]=8
array[0][2][2]=9
array[1][0][0]=11
array[1][0][1]=22
array[1][0][2]=33
array[1][1][0]=44
array[1][1][1]=55
array[1][1][2]=66
array[1][2][0]=77
array[1][2][1]=88
array[1][2][2]=99
array[2][0][0]=112
array[2][0][1]=222
array[2][0][2]=333
array[2][1][0]=444
array[2][1][1]=555
array[2][1][2]=666
array[2][2][0]=777
array[2][2][1]=888
array[2][2][2]=999

*/

 



answered Oct 21, 2016 by avibootz
0 votes
$arr2d = array(array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9)),
               array(array(11, 22, 33), array(44, 55, 66), array(77, 88, 99)),
               array(array(111, 222, 333), array(444, 555, 666), array(777, 888, 999)),
               array(array(1111, 2222, 3333), array(4444, 5555, 6666), array(7777, 8888, 9999)));

echo count($arr2d) . "<br />"; // 4
echo count($arr2d[0]) . "<br />";
echo count($arr2d[1]) . "<br />";
echo count($arr2d[2]) . "<br />";
echo count($arr2d[3]) . "<br />";
echo count($arr2d[4]) . "<br />";

/*

run:

4
3
3
3
3

Notice: Undefined offset: 4 in C:\xampp\htdocs\seek4info.com\test.php on line 14
0

*/

 



answered Oct 21, 2016 by avibootz
0 votes
$arr2d = array(array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9)),
               array(array(11, 22, 33), array(44, 55, 66), array(77, 88, 99)),
               array(array(111, 222, 333), array(444, 555, 666), array(777, 888, 999)),
               array(array(1111, 2222, 3333), array(4444, 5555, 6666), array(7777, 8888, 9999)));
 
echo $arr2d[0][0][0] . "<br />";
echo $arr2d[1][0][0] . "<br />";
echo $arr2d[2][0][0] . "<br />";
echo $arr2d[3][0][0] . "<br />";

echo $arr2d[2][1][1] . "<br />"; // 555

echo $arr2d[4][0][0] . "<br />";
 
/*
 
run:
 
1
11
111
1111
555

Notice: Undefined offset: 4 in C:\xampp\htdocs\seek4info.com\test.php on line 16
 
*/

 



answered Oct 21, 2016 by avibootz
edited Oct 22, 2016 by avibootz
0 votes
$arr2d = array(array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9)),
               array(array(11, 22, 33), array(44, 55, 66), array(77, 88, 99)),
               array(array(111, 222, 333), array(444, 555, 666), array(777, 888, 999)),
               array(array(1111, 2222, 3333), array(4444, 5555, 6666), array(7777, 8888, 9999)));

for ($i = 0; $i < 4; $i++)
{
    for ($j = 0; $j < 3; $j++)
    {
        for ($k = 0; $k < 3; $k++)
            echo $arr2d[$i][$j][$k] . ",";
        echo " - ";
    }
    echo "<br />";
}


/*

run:

1,2,3, - 4,5,6, - 7,8,9, - 
11,22,33, - 44,55,66, - 77,88,99, - 
111,222,333, - 444,555,666, - 777,888,999, - 
1111,2222,3333, - 4444,5555,6666, - 7777,8888,9999, - 

*/

 



answered Oct 21, 2016 by avibootz

Related questions

2 answers 182 views
1 answer 57 views
3 answers 223 views
1 answer 152 views
152 views asked May 30, 2016 by avibootz
1 answer 202 views
...