Ich habe hier ein merkwürdiges Problem. Ich habe ein Array mit Objekten darin gegeben. Es ist sichergestellt, dass Count() des Arrays mindestens 1 ist, es ist also nie leer. Wenn ich mir das Array ausgeben lasse per
PHP-Code:
echo '<pre>';
print_r($this->$AllowedCalendars);
echo '</pre>';
dann erhalte ich das:
Code:
Array
(
[0] => Contao\CalendarModel Object
(
[arrData:protected] => Array
(
[id] => 1
[tstamp] => 1546540728
[title] => Testkalender
)
... (hier gekürzt)
Ich möchte nun die "id" des ersten Array-Eintrages bekommen, bzw. die id des einzigen Array-Eintrages, wenn nur ein Eintrag vorhanden ist.
Normalerweise mache ich das mit
PHP-Code:
$NewEventData['pid'] = $this->$AllowedCalendars[0]->id;
Jetzt habe ich hier aber ein (fremdes) Testsystem, auf dem das nicht funktioniert. Der Wert ist einfach "nix".
Da an anderer Stelle die Auflistung der Array-Einträge funktioniert, habe ich das mal so probiert:
PHP-Code:
foreach ($this->$AllowedCalendars as $cal) {
$NewEventData['pid'] = $cal->id;
}
Das funktioniert dann auf dem problematischen Testystem. Die Schleife ist da eigentlich relativ sinnfrei, ist mir klar. Gibt an der Codestelle aber nur ein Element im Array.
Mache ich da mit dem Zugriff auf [0] irgendwas komplett falsch, oder gibt es da eine php/Server/wasweißich-Einstellung, die das mal erlaubt, und mal verhindert?
Contao-Version ist jeweils 4.4.32, php-Version 5.6.39.
Lesezeichen