[php] Problem z tablicą

Mam taki kod:

$baza = array (

	'taniec' => array (0, 'taniec', 'akapit tekstu'), 

	'taniec2' => array (1, 'taniec2', 'akapit tekstu'),

...

);

Problem jest następujący: jak zrobić, żeby się wyświetlała tablica “podrzędna”, czyli żeby w pierwszym tańcu była możliwość wyboru podgrup. Mam nadzieję, że wszystko jasne w miarę…

Kod jest ze strony, którą potrzebuję modyfikować i nie ukrywam, że sobie nie radzę. Firma, która miała to zrobić, ciągle nie ma czasu, więc chcę to zrobić, żeby nie musieć prosić.

Prawdę powiedziawszy, niezbyt jasno, ale spróbujmy tak jak ja to rozumiem…

Tablica, jak to nazwałeś podrzędna, to drugi wymiar tablicy $baza, zobacz. $tablica[], $tablica2[][], $tablica3[][][] opisują kolejno tablice jedno, dwu i trzy wymiarowe, liczba wymiarów jest praktycznie dowolna. Prostym przykładem do zilustrowania adresowania takiej tablicy, jest zwykły układ współrzędnych, gdzie położenie punktu określamy poprzez podanie współrzędnych x oraz y (dwa różne wymiary). Podobnie jest tutaj, pierwszy wymiar Twojej tablicy może przyjmować dwie wartości $baza[‘taniec’] albo $baza[‘taniec2’], każdy z tych wymiarów może następnie posiadać skojarzony z nim drugi wymiar, czyli:

$baza[‘taniec’][0] = 0

$baza[‘taniec’][1] = taniec

$baza[‘taniec’][2] = akapit tekstu

$baza[‘taniec2’][0] = 0

$baza[‘taniec2’][1] = taniec2

$baza[‘taniec2’][2] = akapit tekstu

Możesz też poczytać manuala który prócz prezentacji kilku różnych układów tabel pokaże Ci masę przydatnych funkcji do operowania na tablicach które mogą CI się przydać.

Wydaje mi się, że rozumiem. Ale, jeśli chcę, żeby kolejna tablica była częścią innej, muszę ją umieścić jako jeden z wymiarów? Czyli, dajmy na to, po akapicie tekstu? Jak to zrobić poprawnie? Chyba zacznę się uczyć :slight_smile: ale to mi zajmie pół życia przy moim tempie :stuck_out_tongue:

Odpal taki kod i zobacz jak to wygląda :slight_smile:

<?php

$owoce = array (

   "owoce" => array("a"=>"pomarancza", "b"=>"banan", "c"=>"jablko"),

   "liczby" => array(1, 2, 3, 4, 5, 6),

   "dziury" => array("pierwszy", 5 => "drugi", "trzeci" => array('lol','rotfl'))

);

print_r($owoce);

?>

Airborn podał link do manuala php.

Ten przykład pochodzi właśnie stamtąd ;]

BTW. nie do końca zrozumiałem Twoją ostatnią wypowiedź…

Dobra, to ja jeszcze raz :slight_smile: Mam trzy rodzaje tańców i opisy do nich. Chcę, żeby było tak, że w pierwszym tańcu rozdzielam na dwa i do każdego opis. W sensie, że tworzę kategorię i dwie podkategorie z opisami. Jaśniej? Już nie umiem lepiej wytłumaczyć…

Nie gniewajcie się na mnie… Muszę zmienić tylko w tym jednym miejscu i naprawdę dam Wam spokój :wink:

Według tego, co podał Crew, powinno być u mnie tak?

$baza = array (

   "tance" => array("taniec1"=>"opis", "taniec2"=>"opis"),

   "taniec3" => array("taniec3", "opis"),

...

);

bo jeśli nie, to ja już nic nie kapuję. Próbuję robić jak wyżej, ale nie wyświetla mi nic. Gdzie robię błąd?

Kod wygląda ok,

wyświetl sobie teraz

echo $baza['tance']['taniec1'].'
';

echo $baza['tance']['taniec2'].'
';

echo $baza['taniec3']['taniec3'];

Tylko czy trzymanie takich rzeczy w tablicach ma sens - nie wiem :stuck_out_tongue:

dzięki :smiley: to próbuję :slight_smile:

to nie mój pomysł :confused: niestety ja to tylko muszę zmienić. w ogóle strona była robiona w jakimś dziwnym edytorze i nie można się nawet z elementami html`a dogadać :confused: no, ale to już inna sprawa…

edit: działa dopiero od taniec3, czyli coś musiało być jednak nie tak.