![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Programuje obiektowo kilka lat w C++ i nie mialem nigdy wiekszych problemow
a tu w php mam tylko 2 klasy i nie moge dojsc o co chodzi pierwsza klasa
a potem mam druga klase w ktorej chce miec tablice elementow pierwszej klasy
problem w tym ze gdy zrobie w ten sposob
to nic sie nie pojawia bo $k pozostaje puste tak jak by rozmyty__(2,1,5,8) nie zapisalo nic do tej tablicy tab pojawia sie dopiero gdy zrobie tak
kto mi powie czemu ta tablica pozostaje pusta?? czego tu brakuje?? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zamien na:
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
![]() a ja sie dwa dni w to patrzylem i szukalem bledu porazka ![]() musze sobie okulary sprawic ![]() a tak po za tym to czemu Zend mi to przepuscil bez ostrzezenia, i na serwerze tez otwieralo sie bez bledu?? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
taki zapis tab[j] bedzie traktowany jako tab['j']. a to nie jest błąd tylko NOTICE, ktory zreszrtą jest wywalany:
Cytat Notice: Use of undefined constant j - assumed 'j' in ... trzeba miec tylko raportowanie ustawione odpowiednio.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2006-03-27 16:39:36) taki zapis tab[j] bedzie traktowany jako tab['j']. a to nie jest błąd tylko NOTICE, ktory zreszrtą jest wywalany: Cytat Notice: Use of undefined constant j - assumed 'j' in ... trzeba miec tylko raportowanie ustawione odpowiednio.No niby tak, ale to siedzi troche głębiej. Zapis $tab[j] jest całkowicie poprawny (dlatego Zend nic nie mówił). Szukamy po prostu w tablicy $tab elementu o indeksie zdefiniowanym przez stałą j. Stała ta nie została wcześniej zdefiniowana więc php przy pierwszej próbie jej użycia wywala komunikat typu E_NOTICE oraz automatycznie tworzy tą stałą nadając jej wartość taką samą jaka jest jej nazwa. Dlatego wrażenie jest że jest to to samo co $tab['j']. A tak nie jest. To nadal jest tab[j]. Tylko tmy razem stała j jest już zdefiniowana. Jest to swego rodzaju niuans. Wyjściem z tej sytuacji nie jest odpowiednie ustawienie error_reporting, bo to jest ominięcie prolemu, zresztą bardzo złe, a nie jego rozwiązanie. Rozwiązaniem jest pisanie nazw w apostrofach: $tab[ 'j' ] |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Dlatego wrażenie jest że jest to to samo co $tab['j']. A tak nie jest. To nadal jest tab[j]. Tylko tmy razem stała j jest już zdefiniowana. to mialem na mysli, tylko źle to ubralem w slowa. a raczej skrócilem mysl ![]() Cytat Rozwiązaniem jest pisanie nazw w apostrofach: $tab[ 'j' ] nie, nie ![]() ![]() ![]() --- No właśnie. Za daleko w teorię zabrnąłem. Chodziło mi o $tab[$j] ![]() ~mike_mech -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
a wiec dla potomnych szukających błędów w swych skryptach
najlepiej ustawic w php.ini error_reporting = E_ALL bo na ja szukaniu prostych błędów straciłem dwa dni ![]() a liczylem ze całe zlecenie zrobie w jeden |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mromar2 @ 2006-03-28 00:02:31) error_reporting = E_ALL Nie zawsze wystarczy. Należy jeszcze upewnić się, że display_errors jest odpowiednio ustawione: Kod display_errors = On
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:00 |