Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]jak rozpoznać czy to ostatnia tablica w zmiennej ?
Forum PHP.pl > Forum > Przedszkole
kamillo121
Dręczy mnie taki problem ...
W wyniku zapytania sql i pętli otrzymuję tablice w której sa tablice z danymi ....
Do każdej tablicy w tablicy głównej są przypisane różne dane no i teraz potrzebuje jakoś zrobić, żeby skrypt wiedział kiedy jest ostatnia tablica w tablicy , da się to jakoś zrobić ?
Fifi209
Nie wiem czy zrozumiałem ale end zwróci ostatni element tablicy.
l0ud
O ile dobrze zrozumiałem...

  1. if (isset($tablica[$aktualnyElement+1]))
  2. echo 'aktualnyElement nie jest ostatni';
  3. else echo 'ostatni';
kamillo121
Przepraszam pomyliłem się , mam w zmiennej kilka tablic i chce żeby skrypt wiedział kiedy jest ostatnia tablica np
$value=Array ( cos]=>cos [cos2]=>cos2) Array([cosik]=>cosik [cosik2]=>cosik2 )

I chce żeby skrypt wiedział kiedy będzie ostatnia tablica przy wyciąganiu z tej zmiennej danych foreach ...
Przepraszam ale na szybko pisałem i się pomyliłem ...
l0ud
Jak wyżej. Chociaż lepiej nad tą foreach zbudować pętlę for z użyciem count()
  1. for ($i=0, $b=count($value); $i<$b; $i++) { ...
Fifi209
Sprawdź czy zmienna jest tablicą is_array
kamillo121
Loud spróbuje twoim sposobem ,a co do tego is_array to narazie uzyskałem wynik 11 haha.gif , muszę poćwiczyć używanie tej funkcji ...
Fifi209
Przykład:
  1. $test = array('a', 'b', array('c', 'd'));
  2.  
  3. foreach ($test as $value) {
  4. if (!is_array($value)) {
  5. echo $value.'<br/>';
  6. }else{
  7. foreach ($value as $value2) {
  8. echo $value2.'<br/>';
  9. }
  10. }
  11. }
kamillo121
Fifi , w wyniku tego dostaje wszystkie dane z tablic smile.gif
A co do tej pętli for to nie wiem nawet jak jej użyć bo przed foreach chyba nie bardzo jej użuje ..
Przedstawie po krótce skrypt :
  1. $sql='JAKIES ZAPYTANIE SQL';
  2.  
  3. $result=mysql_query($sql)
  4.  
  5.  
  6. while($row=mysql_fetch_assoc($result)) {
  7. foreach($row as $key => $value){
  8. $tab[$row['id']][$key]=$value;
  9. }
  10. }
  11.  
  12. foreach($tab as $key=>$value2){
  13. //Tutaj wyciagam wszystkie mi potrzebne dane
  14. //i w tym miejscu chce wyswietlic pewna informacje jezeli jest to ostatnia tablica //
  15. }
Fifi209
To pokazałem Ci przykład skryptu z użyciem is_array.

Pokaż lepiej dane.

Coś takiego w foreach:

  1. if (!is_array($value2)) {
  2. // nie jest tablicą
  3. }else{
  4. // jest tablicą
  5. }
bmL
Nie masz w zmiennej kilka tablic tylko w tablicy kilka innych tablic smile.gif
A może z count?

  1. $value=Array ( 'cos'=>'cos', 'cos2'=>'cos2'), Array('cosik'=>'cosik', 'cosik2'=>'cosik2');
  2. $count = count($value);
  3.  
  4. for($i=1; $i<=$count; $i++)
  5. {
  6. if($i!=$count)
  7. //nie ostatni
  8. else
  9. //ostatni
  10. }
kamillo121
Dzięki wszystkim za pomoc , potem będę próbować smile.gif
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.