Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd " Undefined offset"
Forum PHP.pl > Forum > PHP
veild
Próbuję dojść źródła dziwnego problemu. Kiedy za drugim razem odwołuję się do tablicy $last_comment[0] (print_r z jej zawartości poniżej) otrzymuję błąd
Notice (8): Undefined offset: 0 [CORE\app\controllers\pages_controller.php, line 32].
Wiem, że można się tym zupełnie nie przejmować i łatwo wyłączyć, ale powiedzmy, że jestem phpowym purystą i chcę poznać przyczynę, dlaczego powstaje ten notice.

Mój kod wygląda w ten sposób:
  1. <?php
  2. if (!empty($last_comment))
  3. print_r($last_comment[0]);
  4. print_r($last_comment[0]);
  5. }
  6. ?>




a tablica $last_comment ma taką postać:
  1. <?php
  2. (
  3. [0] => Array
  4. (
  5. [com] => Array
  6. (
  7. [text] => Treść komentarza
  8. [date] => 2007-08-26 21:38:33
  9. )
  10.  
  11. [usr] => Array
  12. (
  13. [login] => vesper
  14. )
  15.  
  16. )
  17.  
  18. )
  19. ?>



Czy ktoś z Was zna pochodzenie tego problemu?
sticker
a czy w pierwszym skrypcie znana jest zawartość opisywanej tablicy? Błąd mówi że nie ma indeksu "0" w tablicy $last_comment

Jak na moje oko to pierwszy skrypt w ogóle nie widzi deklaracji tablicy pokaż cały skrypt...
veild
Przepisałem ten kod od początku i już nie ma błędu. Ale wciąż nie mam pojęcia, skąd on się brał.

Problem polegał na tym, że jeżeli wykonałem print_r tylko jeden raz, to było wszystko ok. Notice pojawiał się dopiero przy drugim wywołaniu print_r.

Czy istnieją jakieś wskaźniki aktualnego elementu w tablicy w php? Coś a'la wskaźnik ostatnio odczytanego znaku w otwartym pliku w C?
nospor
blad dotyczyl sie tego:
  1. <?php
  2. if (!empty($last_comment))
  3. print_r($last_comment[0]); // to idzie w if
  4. print_r($last_comment[0]);// to juz nie
  5. ?>

powinno byc tak:
  1. <?php
  2. if (!empty($last_comment)){
  3. print_r($last_comment[0]);
  4. print_r($last_comment[0]);
  5. }
  6. ?>
veild
Auuuuććć... co za nieuwaga z mojej strony :/:/
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.