Показать полную графическую версию : массив на PHP
Surround
14-10-2005, 16:07
Нужно создать трехмерный массив в PHP по 32 элемента в каждом разряде. Как это можно сделать, не перечисляя все индексы от 1 до 32? :help:
Vlad Drakula
14-10-2005, 16:25
Surround
а памяти хватит?
vadimiron
14-10-2005, 16:40
Surround
А для чего?? Это же не С, тут не надо заранее место в памяти резервировать, просто добавляйте эелементы когда нужно, так и наберутся 32х3
В любом случае всегда же есть циклы....
Surround
14-10-2005, 17:58
ну так вот пример можно?
vadimiron
14-10-2005, 18:12
for($a=0;$a<3;$a++)
{
for($b=0;$b<3;$b++)
{
for($i=1;$i<=32;$i++)
{
$mass[$a][$b]][$i]="value";
}
}
}
А вообще если мы пишем $mass[32], то ПХП думает, что все элементы до 32 уже заняты, поэтому при написании $mass[]="что-то" будет занят 33-ий элемент, если даже элементы до 32-ого мы специально не прописывали
$mass[$a][$b]][$i]="value";
чтото есть сомнения что код правильный
elfoflorien
15-10-2005, 15:01
E-mail, vadimiron
конечно, не$mass[$a][$b]][$i]="value";
а $mass[$a][$b][$i]= "value";
а так все, по-моему, работает так, как и просил Surround:
Array
(
[0] => Array
(
[0] => Array
(
[1] => value
/* */
[32] => value
)
[1] => Array
(
[1] => value
/* */
[32] => value
)
[2] => Array
(
[1] => value
/* */
[32] => value
)
)
[1] => Array
(
[0] => Array
(
[1] => value
/* */
[32] => value
)
[1] => Array
(
[1] => value
/* */
[32] => value
)
[2] => Array
(
[1] => value
/* */
[32] => value
)
)
[2] => Array
(
[0] => Array
(
[1] => value
/* */
[32] => value
)
[1] => Array
(
[1] => value
/* */
[32] => value
)
[2] => Array
(
[1] => value
/* */
[32] => value
)
)
)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.