Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zwrot calej tablicy asocjacyjnej przez funkcje
lechust
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.04.2005

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


Wiem ze funkcje moga zwracac tablice, jednak nie wiem czy moga zwrocic tablice asocjacyjne. Probuje zwrocic przez kod:
Kod
...
return $tablica;
....

ale nie dziala.
Moge zwrocic jeden element przez kod:
Kod
...
return $tablica['element']='wartosc';
...


Jednak ja potrzebuje cala. Jest na to jakas rada?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mike
post
Post #2





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

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


Nie wiem w czym problem :?:
IMO Musisz mieć błąd w kodzie przed return.

To działa:
  1. <?php
  2.  
  3. function Tablica()
  4. {
  5. $arrTab = array();
  6. $arrTab[ 'jeden' ] = 'ok';
  7. $arrTab[ 'dwa' ]  = 'bla';
  8. $arrTab[ 'trzy' ] = 1;
  9.  
  10. return $arrTab;
  11. }
  12.  
  13. print_r( Tablica() );
  14.  
  15. ?>
Go to the top of the page
+Quote Post
TomASS
post
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


No widzisz micke, nie do końca, ja też miałe problem przy:

  1. <?php
  2.  
  3. $result = @mysql_query($query,$this->dbA);
  4. $row = @mysql_fetch_array($result);
  5. return $row;
  6.  
  7. ?>


i też mi zwróci tylko pierwszy element :/

Poradziłem sobie z tym tak ło:
  1. <?php
  2.  
  3. $result = @mysql_query($query,$this->dbA);
  4. while ($row = @mysql_fetch_array($result)) $zwroc[] = $row;
  5. return $zwroc;
  6.  
  7. ?>


Może lechut też tak spróbuj.
Go to the top of the page
+Quote Post
mike
post
Post #4





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

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


Cytat(TomASS @ 2005-09-27 09:14:58)
No widzisz micke, nie do końca, ja też miałe problem przy:

  1. <?php
  2.  
  3. $result = @mysql_query($query,$this->dbA);
  4. $row = @mysql_fetch_array($result);
  5. return $row;
  6.  
  7. ?>

Mylisz się. php działa tu jak najbardziej dobrze.

mysql_fetch_array" title="Zobacz w manualu php" target="_manual po prostu zwraca pierwszy (a dokładniej bierzący ) element (wiersz).

A to już inna historia, ponieważ w powyższym przypadku zmienna $row wcale nie zawierała w momencie return całej tablicy, więc trudno wymagać od funkcji żeby takową zwróciła.
Go to the top of the page
+Quote Post
lechust
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.04.2005

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


Funkcje od TomASSa musze na razie zrozumiec, bo to jeszcze nie moj poziom. Uzylem

Kod
<?php
function ()
{

global $tablica;
...

}
?>


Zadzialalo....
Go to the top of the page
+Quote Post
TomASS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


ale w 100% rację miał micke_mech, to co Ty proponujesz, to jest raczej nieeleganckie, funkcja ma tą właściwość, że może zwracać wartość i ją się powinno wykorzystać. Zmienne globalne są dosyć niebezpieczne w używaniu. Pokaż całą funkcję, a na pewno postaramy się pomóc.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 19:37