Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tablica Dwuwymiarowa
Forum PHP.pl > Forum > Przedszkole
rudald
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?
Drohan
a może $tablica[$rzad]*$tablica[$kolumna] ?

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

echo"$wynik";

?
bastard13
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.
rudald
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. }
bastard13
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. }
rudald
ah no tak! Przecież trzeba otworzyć jeżeli jest więcej niż jedna operacja - przegapiłem : )

Dziękuję : )
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.