Array Class Problem

jackie05

Erfahrenes Mitglied
Hallo,
ich habe ein Problem ein Array aus einer Klasse zu erstellen:
PHP:
class Friends {
    public $id;
    public $mapData;
}
class MapData {
    public $id;
}

Ich möchte die Arrays so erstellen, das ich z.B. so zugreifen kann:
PHP:
friends[friendNr]->mapData[mNr]->id = 2;
Leider hab ich nocht nicht soviel mit Arrays gearbeitet in PHP, deshalb weiss ich jetzt nicht, wie ich das ambesten hinbekomme.

So hab ich das z.B. getestet:
PHP:
$friends[] = new Friends($fAnzahl);
for ($i=0; $i<fAnzahl; $i++) {
    $friends[$i]->mapData[] = new MapData($mAnzahl); 
    for ($j=0; $j<fAnzahl; $j++) {
        $friends[$i]->mapData[$j].id = 5;
        //.................................... 
    }
}

Falls im Code Tippfehler vorhanden sind.. Das ist jetzt nur ein beispiel, das ich mal eben hier eingetippt habe, so wie ich das ungefähr getestet habe, leider funktioniert das nicht so.

Wie mache ich das ambesten in PHP?

Ich bedanke mich schonmal im Voraus.

MfG
 
Hallo Jackie,

dein Code sollte so ausschauen:
PHP:
$friends = [];
for ($i=0; $i<$fAnzahl; $i++) {
  $friends[] = new Friends();
  $friends[$i]->mapData = [];
  for ($j=0; $j<$mAnzahl; $j++) {
    $friends[$i]->mapData[$j] = new MapData();
    $friends[$i]->mapData[$j]->id = 5;
  }
}
Hast du einen C++-Hintergrund? In PHP gibt es so etwas wie "new int[999]" nicht.
 
Ja, ich habe früher viel in C++ oder Java geschrieben, deshalb irritiert mich das manchmal.

Nun funktioniert es, vielen Dank für deine Hilfe.

MfG
 

Neue Beiträge

Zurück