Signatur
Beschreibung
collator_get_error_message() liefert den menschenlesbaren Fehlertext, der dem letzten Fehlercode des übergebenen Collator-Objekts entspricht. Damit lässt sich nach fehlgeschlagenen Collator-Operationen (z. B. Vergleichen oder Sortieren) eine aussagekräftige Fehlermeldung ausgeben oder protokollieren.
Die Funktion ist die prozedurale Entsprechung zur objektorientierten Methode Collator::getErrorMessage(). Intern basiert sie auf der ICU-Bibliothek und gibt den Text zurück, der dem ICU-Fehlercode zugeordnet ist – zum Beispiel U_ZERO_ERROR (kein Fehler) oder U_ILLEGAL_ARGUMENT_ERROR.
Sie eignet sich besonders für Diagnose- und Debugging-Zwecke, wenn bei der Unicode-Sortierung oder beim Zeichenvergleich unerwartete Ergebnisse auftreten. Typischerweise wird sie in Kombination mit collator_get_error_code() eingesetzt, um sowohl den numerischen Code als auch den beschreibenden Text zu erhalten.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $object Pflicht | Collator | Eine gültige Collator-Instanz, die zuvor z. B. mit collator_create() oder new Collator() erstellt wurde. |
Rückgabewert
string zurück, der dem letzten Fehlercode des Collators entspricht (z. B. 'U_ZERO_ERROR' wenn kein Fehler vorliegt). Im Fehlerfall (ungültiges Objekt) wird false zurückgegeben.Beispiele
Fehlermeldung nach erfolgreichem Vergleich prüfen
<?php
$collator = collator_create('de_DE');
$result = collator_compare($collator, 'Äpfel', 'Banane');
$errorCode = collator_get_error_code($collator);
$errorMessage = collator_get_error_message($collator);
echo 'Vergleichsergebnis: ' . $result . PHP_EOL;
echo 'Fehlercode: ' . $errorCode . PHP_EOL;
echo 'Fehlermeldung: ' . $errorMessage . PHP_EOL;
Objektorientierte Variante mit Fehlerprüfung
<?php
$collator = new Collator('en_US');
// Sortierung eines Arrays
$woerter = ['banana', 'apple', 'cherry'];
collator_sort($collator, $woerter);
$msg = $collator->getErrorMessage();
if ($msg !== 'U_ZERO_ERROR') {
echo 'Es ist ein Fehler aufgetreten: ' . $msg . PHP_EOL;
} else {
echo 'Sortierung erfolgreich: ' . implode(', ', $woerter) . PHP_EOL;
}
// Wichtig · Fallstricke
Kein Fehler ≠ leerer String: Auch bei fehlerfreier Ausführung gibt die Funktion einen Text zurück – typischerweise 'U_ZERO_ERROR'. Ein Rückgabewert von false deutet hingegen auf ein ungültiges oder nicht initialisiertes Collator-Objekt hin.
Die Funktion setzt voraus, dass die PHP-Erweiterung intl installiert und aktiviert ist. Ohne diese Erweiterung ist weder collator_get_error_message() noch die Collator-Klasse verfügbar.