Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Tablice
MagnuM
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

Ostrzeżenie: (0%)
-----


Witam, mam następujący, wydaje się banalny problem z tablicą.

  1. <?php
  2. $tablica = array( 'jeden' => array( 'x' => 'iks' ) );
  3. ?>


Problem jest tego typu, że potrzebuje się do tablicy odwołać na dwa sposoby:

  1. <?php
  2. echo $tablica[0]['x']; // pierwszy
  3. echo $tablica['jeden']['x']; // drugi
  4. ?>


Niestety pierwszy sposób nijak nie chce działać :/

Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ba tablica nie ma indexu 0, tylko ma index 'jeden'
No niestety, tak to juz jest, ze jak czegos nie ma, to sie do tego czegos nie odwolasz smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


TO chyba oczywiste ze nie dziala -- bo nie ma takiego indeksu (0) w tej tablicy, mozesz to obejsc:

  1. <?php
  2. $tablica = $tablica + array_values( $tablica );
  3. ?>

i juz masz indexy integerowe dla wszystkich wartosci tablicy, ALE

  1. <?php
  2. $tablica[ 0 ] = 3;
  3. print( $tablica[ 0 ] . '<br />' );
  4. $tablica[ 'jeden' ];
  5. print( $tablica[ 'jeden' ] . '<br />' );
  6. ?>

to nie te same zmienne, tylko kopie


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
MagnuM
post
Post #4





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

Ostrzeżenie: (0%)
-----


Mnie się zdawało że tworzy się jakby dodatkowy index. Dziwne ;/ To strasznie utrudnia prace ;/ Nie da się nadać temu jakoś indexu ?


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(MagnuM @ 2006-04-02 18:47:35)
Nie da się nadać temu jakoś indexu ?

No przecież to ma index.
O wartości (a dokładniej nazwie) jeden.

Taka jest idea tablic asocjacyjnych.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Tak to tylko w ...e.... mysql_fetch_costam zwraca podwojnie indeksowana tablice, moze cos ci sie pomylilo.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
MagnuM
post
Post #7





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

Ostrzeżenie: (0%)
-----


No więc jak mam to zrobić ? Bo chciałbym przepuścić tablicę przez pętlę. Każdy element pokolei.

  1. <?php
  2. $tablica = array( 'jeden' => array( 'x' => '10' ),
  3. 'dwa' => array( 'x' => '-5' ) );
  4.  
  5. for($a=1; $a <= count($tablica); $a++)
  6. {
  7. if( $tablica[$a]['x'] < 0 ) $tablica['jeden']['x'] = 0;
  8. }
  9. ?>


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


A kolega słyszał o pętli foreach ?
Polecam poczytać: foreach
Go to the top of the page
+Quote Post
MagnuM
post
Post #9





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

Ostrzeżenie: (0%)
-----


Dzięki serdeczne. Muszę się przyznać że ta sytuacja przekonała mnie o tym, że mam postępujące adhd i jak nie moge czegoś zrobić to poprostu... szkoda gadać ;p


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Zamiast uzalac sie nad soba polecam rozpoczac czytanie manuala. Od poczatku smile.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
pEbE
post
Post #11





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Czytanie manuala jest nudne lepiej poczytac fajna ksiązke, a manual to tylko wytłumaczenie jak uzywac funkcji tongue.gif
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Nie kaze czytac opisu kazdej funkcji, ale poczatkowych rozdzialow: jak tworzyc tablice jak ich uzywac, itp. -- podstawy
Przejrzenie dostepnych funkcji tez sie przydaje: w pamieci ci zostaje informacja ze funckcja robiaca TO gdize istnieje i potrafisz do niej dotrzec.





PS. Jak uczylem sie php to czytalem dokladnie opisy wszystkich funkcji smile.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:33