PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlermeldung bei array_multisort


pekobe
03.09.2007, 10:37:00
Hallo,

ich bekomme bei einem PHP-Script folgende Fehlermeldung:


Warning: array_multisort() [function.array-multisort]:
Argument #1 is expected to be an array or a sort flag in ......
on line 510

Die Zeile 510 sieht wie folgt aus:


array_multisort($spnrArray, SORT_ASC, $stnrArray, SORT_ASC,
$datumArray, SORT_ASC,$zeitArray, SORT_ASC,$newArray);

Und hier ein etwas größerer Ausschnitt aus dem Script:


// Anzahl Teams bestimmen
$tempArray = array();
$newArray = array();
while ($i<(count($array))):
// Sortierung vorbereiten
$newArray[]=$array[$i];
$spnrArray[]= extractValue($regExp,$array[$i],$cols,'SPNR',"0");
$stnrArray[]= extractValue($regExp,$array[$i],$cols,'NR',"0");
$datumArray[]= extractValue($regExp,$array[$i],$cols,'DATUM',"0");
$zeitArray[]= extractValue($regExp,$array[$i],$cols,'ZEIT',"0");
$newTeam[0] = extractValue($regExp,$array[$i],$cols,'HEIM',"TEAMNAME");
$newTeam[1] = extractValue($regExp,$array[$i],$cols,'GAST',"TEAMNAME");
// Jeweils für Heim und Gast ermitteln ob schon vorhanden
for ($x=0; $x<=1; $x++) {
if(!in_array($newTeam[$x],$tempArray)) {
$tempArray[] = $newTeam[$x];
}
}
$i++;
endwhile;
array_multisort($spnrArray, SORT_ASC, $stnrArray, SORT_ASC,
$datumArray, SORT_ASC,$zeitArray, SORT_ASC,$newArray);


Wie bekomme ich das Script ans laufen?


Grüße von Sven

defabricator
03.09.2007, 12:09:55
Ich tippe auf: $spnrArray wird nicht initialisiert und die Schleife läuft kein einzigfes Mal durch.
Bitte testen pererror_reporting(E_ALL);
ini_set('display_errors', 1);
var_dump($spnrArray);
array_multisort($spnrArray, SORT_ASC, $stnrArray, SORT_ASC,
$datumArray, SORT_ASC,$zeitArray, SORT_ASC,$newArray);

pekobe
03.09.2007, 14:42:41
Hallo,

jetzt kommt folgende Meldung:

Undefined variable: spnrArray in .... on line 511


Grüße von Sven

defabricator
03.09.2007, 15:03:50
$spnrArray wird nicht initialisiert und die Schleife läuft kein einzigfes Mal durch.

Du solltest alle Arrays initialisieren und vielleicht mal Deine Schleifenbedinung genauer ansehen.
// Anzahl Teams bestimmen
$tempArray = array();
$newArray = array();

echo "while: $i < " . count($array) . ": <br />".
while ($i<(count($array))):