Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tablice?
Forum PHP.pl > Forum > Przedszkole
pit501
Czy jest taka mozliwosc aby ponizej zdefiniowana manualnie tablice zdefiniowac za pomoca petli ?
  1. <?php
  2.  
  3. $data = array(
  4. array(  2001,  750),
  5. array(  2002, 1700),
  6. array(  2003, 2000),
  7. array(  2004, 1800),
  8. array(  2005, 1300),
  9. array(  2006,  400)
  10. ); 
  11.  
  12. ?>

ohmy.gif ohmy.gif ohmy.gif ohmy.gif

__
autora tematu proszę o używanie BBcode, i zachęcam do rejestracji
ActivePlayer
luinnar
Można zrobić coś takiego:
  1. <?php
  2. $max = 7; // ilość elementów do wpisania
  3. $data = array();
  4. $wartosc1 = 0;
  5. $wartosc2 = 0;
  6.  
  7. for($i = 0; $i < $max; $i++)
  8. {
  9.     // jakieś instrukcje obliczające wartosc1 i wartosc2
  10.     $data[$i] = array($wartosc1, $wartosc');
  11. }
  12. ?>
pit501
Oj te tablice, czy mógłbym jeszcze kogoś prosić o wyjaśnienie dlaczego po wykonaniu ponizszych instrukcji niejest wyswietlana wartosc tablicy o indexie klucz lecz denerwujący napis Array?
  1. <?
  2. $t["klucz"]=array(200);
  3. echo $t["klucz"];
  4. ?>

To jest jedna sprawa a druga to jest mały problem z biblioteką phplot a konkretnie z metodą
  1. <?php
  2.  $graph->SetDataValues($t); 
  3. ?>

która jest w stanie przyjmowac tablice tylku 'typu" array tzn zrobiona w ten sposób:
  1. <?php
  2. $data = array(
  3. array(  2001,  750),
  4. array(  2002, 1700),
  5. array(  2003, 2000),
  6. array(  2004, 1800),
  7. array(  2005, 1300),
  8. array(  2006,  400)
  9. ); 
  10. ?>

po to napisałem wcześniejszego posta czy nie mozna tego zautomatyzować
bo niestety podając jej tak zainicjowaną tablice :
  1. <?php
  2.  
  3. $data = array();
  4. $wartosc= 0;
  5. $max=5;
  6.  
  7. for($i = 1; $i < $max; $i++)
  8. {
  9.  
  10. $wartosc2 = rand();
  11. $data[$i] = $wartosc;
  12.  
  13. }
  14.  
  15. ?>

zwraca to :
Notice: Undefined offset: 0 in c:\usr\apache\httpd\html\phplot.php on line 1749

Warning: array_values(): The argument should be an array in c:\usr\apache\httpd\html\phplot.php on line 1749
luinnar
I
  1. <?php
  2. $t["klucz"]=array(200);
  3. echo $t["klucz"];
  4. ?>
Mamy tutaj doczynienia z tablicą wielowymiarową. To elementu tablicy $t zapisujesz kolejną tablicę, jeśli chcesz wyświetlić wartość (w tym przypadku 200) to musisz to zrobić tak:
  1. <?php
  2. echo $t['klucz'][0];
  3. ?>
Używaj do nazw indeksów tablic znaków ' (apostrof) a nie " (cudzysłów)

II
dałeś:
  1. <?php
  2. for($i = 1; $i < $max; $i++)
  3. ?>
a powinno być:
  1. <?php
  2. for($i = 0; $i < $max; $i++)
  3. ?>
aby numerować od zera.
Mój błąd w przykładzie (już poprawiłem).
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.