Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] tablica w tablicy
Forum PHP.pl > Forum > Przedszkole
bastek8989
Witam

Chodzi mi oto czy da sie zrobic cos takeigo

$tablica[1][wyjdzie zawartosc tablicy
$tablica[1][id] wyjdzie ID

jest ajkis sposob?
Kicok
each" title="Zobacz w manualu PHP" target="_manual ewentualnie możesz poczytać jeszcze o funcjach key() i current()
bastek8989
i jak niby za pomoca tego moge zrobic tablice o 2 wartosciach sleep.gif
nospor
ale oco ci chodzi? Bo Twoj opis, a tym bardziej przyklad jest "cudny" winksmiley.jpg

  1. <?php
  2. $tablica = array(1=>array('id'=>2, 'inny index'=>3));
  3. ?>

oto chodzi?
Kicok
Zawsze można opisywać problem w taki sposób, żeby był czytelny dla innych...

ew. array_values() i array_keys()
bastek8989
Cytat(nospor @ 28.02.2007, 17:25:16 ) *
ale oco ci chodzi? Bo Twoj opis, a tym bardziej przyklad jest "cudny" winksmiley.jpg

  1. <?php
  2. $tablica = array(1=>array('id'=>2, 'inny index'=>3));
  3. ?>

oto chodzi?



tak! a jak moge wsadzic dane do tej nietypowej tablicy o_O

zebym mogl je wywolac:

$tablica[1] otrzmuje wartosc 1
$tablica[1][2] otrzymuje wartosc 2?

chodzi o masowe wsadzanie danych (przy 1 tablicy to bylo $tablica[] = 'asdasd';) jak przy tej
nospor
  1. <?php
  2. $tablica = array(1=>array('id'=>2, 'inny index'=>3));
  3. //i dodajemy nowe dane
  4. $tablica[2]=array('id'=>2,'inne'=>3);
  5. //lub
  6. $tablica[3]['id']=2;
  7. $tablica[3]['inne']=3;
  8. ?>

questionmark.gif
bastek8989
SUPER ale mam problem ;d;d;d


oto kod:

  1. <?php
  2. //sprawdza czy tablica nie jest pusta
  3. function myMerge($arrays){
  4. $moja = array();
  5. foreach($arrays as $array){
  6. if(is_array($array)) $moja = array_merge($moja, $array);
  7. }
  8. return $moja;
  9. }
  10.  
  11. //te tablice sa w petli wybieraja dane z bazy
  12. $tablica_filmy = array(1=>array('tabela'=>'filmy', 'id'=>$wynikf['id']));
  13. $tablica_mp3 = array(1=>array('tabela'=>'mp3', 'id'=>$wynikf['id']));
  14. $tablica_flash = array(1=>array('tabela'=>'flash', 'id'=>$wynikf['id']));
  15. $tablica_galeria = array(1=>array('tabela'=>'galeria', 'id'=>$wynikf['id']));
  16.  
  17. //polaczenie i pomieszanie tablic
  18. $losowe = myMerge(Array($tablica_galeria,$tablica_filmy, $tablica_flash, $tablica_mp3));
  19. if($losowe != NULL){
  20. shuffle($losowe);
  21. ?>


No i dziala on polowicznie :|

$losowe[1]['tabela'] <<< dziala
$losowe[1]['tabela']['id'] <<< niestety nie dziala tablica sie zatracila gdzies :|

dodam jeszcze zawartosc tablicy $losowe:

array(4) { [0]=> array(2) { ["tabela"]=> string(3) "mp3" ["id"]=> string(3) "254" } [1]=> array(2) { ["tabela"]=> string(7) "galeria" ["id"]=> string(3) "381" } [2]=> array(2) { ["tabela"]=> string(5) "filmy" ["id"]=> string(3) "635" } [3]=> array(2) { ["tabela"]=> string(5) "flash" ["id"]=> string(3) "221" } }
nospor
no ale przeciez twoj kod wygeneruje ci takie tablice:
Kod
Array
(
    [0] => Array
        (
            [tabela] => galeria
            [id] => jakas wartosc
        )

    [1] => Array
        (
            [tabela] => filmy
            [id] => jakas wartosc
        )

    [2] => Array
        (
            [tabela] => flash
            [id] => jakas wartosc
        )

    [3] => Array
        (
            [tabela] => mp3
            [id] => jakas wartosc
        )

)

wiec nie $losowe[1]['tabela']['id'] a: $losowe[1]['id']
bastek8989
Bardzo dziekuje!

Nareszcie normalne odpowiedzi a nie odsylacze do funkcji w manualu i google haha.gif


pozdro

Jeszcze jeden problem napotkalem:

Moj kod dodajacy dane do tablicy w petli:
  1. <?php
  2. if($ileobrazki != 0){
  3. $i_ob = 0;
  4. $sql2 = "SELECT * FROM galeria ORDER BY RAND() LIMIT 3";
  5. $result2 = mysql_query($sql2);
  6. while($wynik2=mysql_fetch_array($result2))
  7. {
  8. $tablica_galeria = array($i_ob=>array('tabela'=>'galeria', 'id'=>$wynik2['id']));
  9. $i_ob++;
  10. }
  11. }
  12. ?>


Pętla dziala lecz niestety do tablicy dodawany jest tylko 1 element :| prosze o rade
nospor
  1. <?php
  2. $tablica_galeria[] = array($i_ob=>array('tabela'=>'galeria', 'id'=>$wynik2['id']));
  3. ?>

Oto chodzi?
A moze oto:
  1. <?php
  2. $tablica_galeria[$i_ob] = array('tabela'=>'galeria', 'id'=>$wynik2['id']);
  3. ?>

?
bastek8989
O to drugie - dziekuje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.