Hallo,
ich habe ein kleines Problem. Und zwar geht es um dieses Codestück innerhalb eines Loops über die Dateien eines Ordners.
Ich möchte mir ein zweites Array anlegen mit allen Dateien zu einem bestimmten Änderungsdatum.
$pics habe ich ganz oben im Coding außerhalb jeglicher Schleifen definiert. Das Problem ist nun, dass das $subArray von $pics immer nur 1 Element enthält. Ich vermute es hängt damit zusammen, dass $subArray = array() im Codeblock definiert wird und dann im array_key_exists wieso auch immer nicht verwendet wird.
Ich komme aus der C++ Welt und finde grad iwie den Fehler nicht. Kann mir wer helfen?
Gruß
chaos2oo2
hier mal der Inhalt des Array über den Verlauf:
der letzte Wert wird immer wieder überschrieben
Hat sich erledigt:
Das Array muss nochmal Weggeschrieben werden, scheinbar wird das Array beim Zugriff über den Schlüssel erstmal kopiert anstatt referenziert.
ich habe ein kleines Problem. Und zwar geht es um dieses Codestück innerhalb eines Loops über die Dateien eines Ordners.
Ich möchte mir ein zweites Array anlegen mit allen Dateien zu einem bestimmten Änderungsdatum.
$pics habe ich ganz oben im Coding außerhalb jeglicher Schleifen definiert. Das Problem ist nun, dass das $subArray von $pics immer nur 1 Element enthält. Ich vermute es hängt damit zusammen, dass $subArray = array() im Codeblock definiert wird und dann im array_key_exists wieso auch immer nicht verwendet wird.
Ich komme aus der C++ Welt und finde grad iwie den Fehler nicht. Kann mir wer helfen?
PHP:
$ft = filemtime($entry);
if(array_key_exists($ft, $pics)){
$subArray = $pics[$ft];
$subArray[$entry] = $entry;
}else{
$subArray = array();
$subArray[$entry] = $entry;
$pics[$ft] = $subArray;
}
Gruß
chaos2oo2
Ergänzung ()
hier mal der Inhalt des Array über den Verlauf:
Code:
Array ( [16c96266-c759-4017-8693-f2ed170a0b17.jpg] => 16c96266-c759-4017-8693-f2ed170a0b17.jpg )
Array ( [16c96266-c759-4017-8693-f2ed170a0b17.jpg] => 16c96266-c759-4017-8693-f2ed170a0b17.jpg [89a1467a-7adc-454e-9950-8f6ceef5a3fe.jpg] => 89a1467a-7adc-454e-9950-8f6ceef5a3fe.jpg )
Array ( [16c96266-c759-4017-8693-f2ed170a0b17.jpg] => 16c96266-c759-4017-8693-f2ed170a0b17.jpg [8b2981a1-6e32-4e4e-9ac9-aa446a6ea269.jpg] => 8b2981a1-6e32-4e4e-9ac9-aa446a6ea269.jpg )
Array ( [16c96266-c759-4017-8693-f2ed170a0b17.jpg] => 16c96266-c759-4017-8693-f2ed170a0b17.jpg [9df6ead0-6702-4838-b87c-0f089b220992.jpg] => 9df6ead0-6702-4838-b87c-0f089b220992.jpg )
Ergänzung ()
der letzte Wert wird immer wieder überschrieben
Hat sich erledigt:
PHP:
$ft = filemtime($entry);
if(array_key_exists($ft, $pics)){
$subArray = $pics[$ft];
$subArray[$entry] = $entry;
--> $pics[$ft] = $subArray;
}else{
$subArray = array();
$subArray[$entry] = $entry;
$pics[$ft] = $subArray;
}
Das Array muss nochmal Weggeschrieben werden, scheinbar wird das Array beim Zugriff über den Schlüssel erstmal kopiert anstatt referenziert.
Zuletzt bearbeitet: