nefunguje mi inicializace vícerozměrného pole:
$pole = array( array(0,1,2),
array(0,1,2),
array(0,1,2),
);
nevíte někdo proč? já si fakt nevím rady, pls help.
na co potrebujes vicerozmerny pole?.. Vnorene pole chapu (strukturovani), ale vicerozmerne pole. nikdy jsem ho nepotreboval pouzit
ve tvym zapisu jinak chybu nevidim..
To je jednoduche. Mam soubor *.dat v kterym je tento zapis:
prvek11/prvek12/prvek13
prvek21/prvek22/prvek23
prvek31/prvek32/prvek33
Potrebuju tim naplnit pole. Asi nejak pomoci File() a Explode(). Potom budu moct s prvkama pracovat pod $pole [radek][sloupec]. Problem je ze kdyz skousim napsat jednoduse:
$pole = array( array(0,1,2), array(0,1,2), array(0,1,2),);
echo $pole[1][1];
Nic se nestane, pritom by se mela vypsat 1. Jenom mi nerikejte ze mam pouzit databazi, tak chytry jsem taky :)
Tak to musi chyba na WZ.. doma na lokale to funguje
btw to pole je jednorozmerny a v nem sou zanorena 3 dalsi jednorozmerna pole
tobe to funguje, presne tak jak jsem to napsal? me to nejde ani na lokale. jinak v knize kosek - PHP se pise, ze vicerozmerne pole se chova jako pole jehoz prvky jsou pole, ale to je asi to cos rikal, ze jo?
spise jsou to vnorena pole.. i je pravdou ze se numericky chovaji jako vicerozmerna (tj. k hodnote se dostanu pomoci 2 a vice klicu)..
ano funguje to PRESNE jak si to napsal
Me uz to funguje taky. Ted nevim co si mam myslet. Asi jsem uplne pitomy. Zkousel jsem to minule uz pozde v noci a asi tam prebyla zavorka, nebo carka, nebo ja nevim co. Kazdopadne cumel jsem na to asi dve hodiny a nic - nechapu. Tak sorry a diky za pomoc.
Uz vim kde byla chyba: V knize Kosek - PHP se pravi:
"zapis $pole[3] vraci pole, ktere obsahuje vsechny prvky posledniho radku vicerozmerneho pole."
No a ja vecer zkousel:
echo $pole[3];
a cekal jsem vypis: 123 a ono nic.
Proste: "rano moudrejsi vecera".
1. rozměr : výška
2. rozměr : šířka
3. rozměr : hloubka
4. rozměr : čas
Asi nějak takle, žejo :-)
<HTML>jasny.. $pole[3] ti vrati pouze array ... teprve napr. $pole[3][2] uz vraci hodnotu... vicerozmerne pole pouzivam velmi casto a hlavne u smarty systemu.. jinak jsem pouzil nejvic 8mi rozmerne pole v C kdyz jsem kdysi programoval piskvorky</HTML>
8rozmerne pole... Hezky... To bych fakt chtel videt :)
kdybys chtel vystup 1,2,3, tak bys musel to jednotlivy pole proejt cyklem..
jasně už jsem to udělal takhle (výpis prvku [0][0]) a funguje to:
<?
if (File_Exists ("./index.dat")):
$radek = File("./index.dat");
$max_i= Count($radek);
$i = 0;
while ($i<$max_i)
{
$prvek[$i] = Explode("/","$radek[$i]");
$i++;
}
echo $prvek[0][0];
else:
echo "soubor není k dispozici";
endif;
?>
<HTML>Hihik.. problem byl v tom ze jsem to nikdy nedodelal... delalo mi to chybu v jedne situaci a jelikoz uz to bylo cely hotovy a vypadalo to nechutne slozite nedokazal jsem tu chybu odstranit :-// ale jinak hrali dobre ;)</HTML>
btw na pouzivani n-rozmernych poli snad neni nic spatnyho, kdyz to algoritmus vyzaduje, ne?