Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapełnianie tablic dwuwymiarowych, Tworzenie z zapytania tablicy dwuwymiarowej
MySQL
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 3.06.2008

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


Chcę ze zbioru wynikowego zapytania zrobić tablicę (a w zasadzie dwie tablice) dwuwymiarową (bo będę często z tych danych korzystał).

W tej chwili zapełniam tą tablicę w taki sposób ():
  1. $i = 0;
  2. // ...
  3. while(($w = mysql_fetch_row($wyn)) !== false)
  4. {
  5. $users[$i] = array((int)$w[0], $w[1], $w[2], (int)$w[3]);
  6.  
  7. $authorization[$i] = array((int)$w[4], (int)$w[5], (bool)$w[6]);
  8.  
  9. $i++;
  10. }

Ale można też w taki sposób:
  1. $i = 0;
  2. // ...
  3. while(($w = mysql_fetch_row($wyn)) !== false)
  4. {
  5. $users[$i][0] = (int)$w[0];
  6. $users[$i][1] = $w[1];
  7. $users[$i][2] = $w[2];
  8. $users[$i][3] = (int)$w[3];
  9.  
  10. $authorization[$i][0] = (int)$w[4];
  11. $authorization[$i][1] = (int)$w[5];
  12. $authorization[$i][2] = (bool)$w[6];
  13.  
  14. $i++;
  15. }

Jako, że pierwszy raz koduję coś takiego to moje pytanie brzmi:
Czy oba sposoby są dokładnie takie same czy różnią się jakimiś niuansami, a jeżeli tak to jakimi i który sposób jest prawidłowy (albo po prostu lepszy, wydajniejszy)?

PS. Nawet jeżeli istanieje jakaś funkcja PHP, która zamienia zbiór wynikowy (albo wybrane kolumny wyniku) na tablicę dwuwymiarową to pytanie jest i tak aktualne.
PS2. Przy inicjalizowaniu tablicy podczas jej tworzenia to o ile się nie mylę oba zapisy są równoważne. Ale właśnie nie wiem co jeżeli tablica już istnieje a ja chcę dodawać kolejne elementy.

Ten post edytował MySQL 27.08.2009, 23:57:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fantazyn
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  1. $zmienna = array();

Coś takiego?

Edit:
erix, trochę złośliwy jesteś : ). Znam wynik swojej odpowiedzi, ale byłeś pierwszy i moja odpowiedź trochę śmiesznie wyszła...

Ten post edytował Fantazyn 28.08.2009, 13:27:57
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 21:02