![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 13.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć!
Do tej pory przejście na php było dla mnie bezbolesne, ale tego problemu nie mogę pokonać. Piszę skrypt, w którym jest tworzona tablica (array), wewnątrz klasy. Po utworzeniu obiektu klasy, próba uzyskania rozmiaru tablicy (sizeOf) kończy się błędem Undefined Variable.
Sprawdzałem i konstruktor się wykonuje, więc powinna być tworzona pusta tablica, której wielkość powinna wynosić "0". Tego typu konstrukcja z uzyskiwaniem sizeOf jest mi potrzebna do budowania tablicy, sukcesywnego dodawania kolejnych indeksów $tablica[sizeOf($tablica)] = "nastepny"; Jest szansa, że zaślepłem i po prostu nie widzę czegoś oczywistego, ale czuję, że jestem w kropce. Pomóżcie. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 11 Dołączył: 10.06.2011 Skąd: świdnica Ostrzeżenie: (0%) ![]() ![]() |
no po kolei.
zakladajac ze twoje $objectsArray to tablica obiektow mainObject, to wywolanie $objectsArray[0]->red nie ma sensu, to przeciez property red w klasie mainObject w ogole nie istnieje. oczywiscie zawsze mogles tez cos pomieszac przy inicjalizacji tablicy objectsArray, nie brakuje ci czasem $objectsArray = array()? btw dobra praktyka jest pisanie nazw klas z duzej litery (np MyCustomClass), kod jest wtedy o wiele czytelniejszy. Ten post edytował sh3d2 13.10.2012, 09:01:14 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 3 Dołączył: 2.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
![]() Problem jest także w konstruktorze - tworzysz zmienną lokalną zamiast odwołać się do składowej obiektu poprzez $this. class klasaWewnetrzna { public $position; public function __construct() { // $position = array(0); // ZLE $this->position = array(); //dobrze ![]() } } Pozdrawiam , Kacper Chrapa |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 13.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję Panowie, oczywiście oba wytknięte błędy przyczyniły się do zaistnienia problemu. Najbardziej kardynalnym było pominięcie jednego pola w hierarchii obiektów. Jednak byłem ślepy, no ale teraz mogę już pisać dalej!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:10 |