Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Tablica Dwuwymiarowa, jak wyciągnąć daną wartość z tablicy
rudald
post 16.01.2010, 00:24:12
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.12.2008

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


Tablice to moja męka i udręka. Postanowiłem, że się zbiorę i zrozumie zasadę ich działania, napisałem krótki program, który pokazuje tabliczke mnożenia, jednak pokusiłem się o kolejną funkcję w tym programie mianowicie wyciągnięcia wartości czyli np. chciałbym wyciągnąć wynik mnożenia 3*4 jak to zrobić ? Grzebałem po tutorialach, po stronach i nie ma nigdzie jasno opisane.


  1. <?
  2.  
  3. $tablica[$rzad][$kolumna]=array();
  4. for ($rzad=1;$rzad<11;$rzad++)
  5. {
  6. for ($kolumna=1;$kolumna<11;$kolumna++)
  7. {
  8. echo $rzad*$kolumna;
  9. }
  10. echo "<br>";
  11. }
  12. echo "<br>";
  13. ?>

Aby wyświetlić pisałem
  1. echo "$tablica[3][4]";
czyli tak na chłopski rozum, ale to myślenie okazało się błędne - macie jakieś pomysły?
Go to the top of the page
+Quote Post
Drohan
post 16.01.2010, 00:27:59
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.01.2010

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


a może $tablica[$rzad]*$tablica[$kolumna] ?

ewentualnie $wynik=$tablica[$rzad]*$tablica[$kolumna]

echo"$wynik";

?
Go to the top of the page
+Quote Post
bastard13
post 16.01.2010, 02:45:44
Post #3





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Nie wpisujesz wartości mnożenia do tablicy. Spróbuj tak:
  1. <?php
  2. //wpisywanie wartości do tablicy
  3. $tablica[$rzad][$kolumna]=array();
  4. for ($rzad=0;$rzad<10;$rzad++)
  5. { for ($kolumna=0;$kolumna<10;$kolumna++)
  6. $tablica[$rzad][$kolumna]=$rzad*$kolumna;
  7. }
  8. //wyświetlanie wartości z tablicy
  9. for ($rzad=0;$rzad<10;$rzad++)
  10. { for ($kolumna=0;$kolumna<10;$kolumna++)
  11. echo $tablica[$rzad][$kolumna];
  12. echo '<br />';
  13. }
  14. ?>

Poza tym pierwszy element tablicy to 0, a nie 1.


--------------------
Go to the top of the page
+Quote Post
rudald
post 16.01.2010, 09:55:44
Post #4





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.12.2008

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


Aha ok działa tylko jedno pytanie. Mógłbyś wyjaśnić zasadę 'myślenia' tych tablic, bo analizując to powinno działać, a tak wcale nie jest. Proszę tylko o wytłumaczenie zasady przebiegu tych tablic : )
  1. // wpisywanie elementów do tablicy!
  2. $tablica[$rzad][$kolumna]=array();
  3. for ($rzad=1;$rzad<11;$rzad++)
  4. {
  5. for ($kolumna=1;$kolumna<11;$kolumna++)
  6. $tablica[$rzad][$kolumna]=$rzad*$kolumna;
  7.  
  8. // wyświetlanie elementów z tablicy!
  9. echo $tablica[$rzad][$kolumna];
  10. }


Ten post edytował rudald 16.01.2010, 09:56:40
Go to the top of the page
+Quote Post
bastard13
post 16.01.2010, 13:10:55
Post #5





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


wrzuć wyświetlanie elementu w pętle for, bo jeżelie jest poza pętlą to nie widzi zmiennej $kolumna.
Powinno byc tak:
  1. // wpisywanie elementów do tablicy
  2. !$tablica[$rzad][$kolumna]=array();
  3. for ($rzad=1;$rzad<11;$rzad++)
  4. { for ($kolumna=1;$kolumna<11;$kolumna++)
  5. { //otwieranie pętli
  6. $tablica[$rzad][$kolumna]=$rzad*$kolumna;
  7. // wyświetlanie elementów z tablicy!
  8. echo $tablica[$rzad][$kolumna];
  9. } //zamykanie pętli
  10. }


--------------------
Go to the top of the page
+Quote Post
rudald
post 16.01.2010, 13:27:45
Post #6





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.12.2008

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


ah no tak! Przecież trzeba otworzyć jeżeli jest więcej niż jedna operacja - przegapiłem : )

Dziękuję : )

Ten post edytował rudald 16.01.2010, 13:31:21
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 Wersja Lo-Fi Aktualny czas: 25.04.2025 - 05:53