Войти

Показать полную графическую версию : массив на 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-ого мы специально не прописывали

E-mail
14-10-2005, 23:46
$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