Nun glaubte ich eine Möglichkeit zum umsortieren gefunden zu haben (nachdem einige andere Versuche schon versagt hatten):
$helfer1=array(); $helfer2=array();
while(isset($Kaputt)and count($Kaputt)>0):
// Die Bedingung sollte auf jeden Fall helfen, obwohl ich nicht weiß,
// was array_slice() zurückliefern wird, wenn das Array aufgebraucht ist.
$helfer2=array_slice($Kaputt,0,2);
$helfer1[]=$helfer2[1];
$helfer1[]=$helfer2[0];
endwhile;
Aber das führte nur zu einer Fehlermeldung. Die Zeile
$helfer1[]=$helfer2[1];
ist in meinem Skript Zeile 469. Es sind hauptsächlich deswegen so viele Zeilen, weil meine Überlegungen zu diesem und den früheren Fehlern als Kommentare in der Datei stehen. Dieser macht mich allerdings ganz besonders ratlos:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16777216 bytes) in /opt/lampp/htdocs/WortlistenZuDb.php on line 469
Es scheinen weniger Bytes als erlaubt nicht eingefügt werden zu können, es sei denn, daß sich allocate nur auf die nicht mehr unterzubringenden Bytes bezieht. In dem Fall könnte ich wahrscheinlich den Auslagerungsspeicher erhöhen (falls ich das Teil dafür finde), aber ich glaube nicht, daß der Speicher an der Stelle hätte zu gering sein dürfen. Schließlich sollte die fragliche Anweisung lediglich ein Array mit zwei Elementen füllen und viel größere Arrays haben bisher nicht zu so einem Problem geführt.
Falls die Anweisung nicht, wie ich mir das eigentlich denke, ein Array mit zwei Elementen füllt, was macht sie dann?
Falls die Anweisung doch macht, was ich von ihr erwarte, wie kann es dann zu dem Fehler kommen?
Ranma