Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zwracanie array'a pętlą while
Forum PHP.pl > Forum > Przedszkole
cadavre
Jak pętlą while zwrócić kolejno wartość tablicy dla pierwszego wymiaru?

Mam np
  1. <?php
  2. $arr = array(0=>array("some","infos"),1=>array("jakiej","dane"))
  3. ?>
i chciałbym poprzez while kolejno zwrócić pierwszy wymiar: indeksy 0, potem 1. Jak zrobić to while'm? Koniecznie nim.

Aha, konstrukcja while może wyglądać tylko tak:
  1. <?php
  2. while ($xxx) { ... }
  3. ?>
nospor
  1. <?php
  2. $i=0;
  3. while (isset($arr[$i])) { echo $i; $i++; }
  4. ?>
cadavre
A jeśli wyglądałoby to tak:
  1. <?php
  2. while (array(0=>array("some","infos"),1=>array("jakiej","dane")) { ... }
  3. ?>
? Bo pewna funkcja pakuje mi wprost do pętli tablicę. Myślałem nad czymś a'la co robi fetch_array czy pochodny. Wysyła kolejne wiersze a na końcu FALSE. Czy da się jakoś "zemulować" mysql_fetch_*?
dr_bonzo
Eee...zeee jak?

Co ty chcesz uzyskac i co masz na wejsciu?

Moze o array_keys ci chodzi?
cadavre
Otóż troszkę mam to dziwne - fakt. winksmiley.jpg
Przedstawię może jednak założenie: piszę system cache'owania zapytań i wpadłem na dość dziwny pomysł. Chcę w zależności do tego czy cache istnieje załadować różne dane. Jeśli chce nie istnieje lub nie chce mieć cacheowanego zapytania to funkcja fetch zwraca mysql_fetch_row. Jeśli jednak chcę cacheowane zapytanie to funkcja odczytuje dane z pliku i zwraca tablicę. Wszystko to ujęte jest w instrukcji warunkowej a'la:
  1. <?php
  2. function fetch ($result) {
  3. if (is_string($result)) {
  4. $hash = $this->hash($result);
  5. //tutaj zwraca przykładową tablicę
  6. return array(0=>array("wiersz1"),1=>array("wiersz2"));
  7. }
  8. }
  9. elseif (is_resource($result)) {
  10. //a tutaj mysql_fetcha'a
  11. return mysql_fetch_row($result);
  12. }
  13. }
  14. ?>
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.