Start · Sprachen · PHP · Referenz · collator_get_error_message

collator_get_error_message

Funktion

Gibt die Fehlermeldung (als Text) zum zuletzt aufgetretenen Fehler des <code>Collator</code>-Objekts zurück.

seit PHP 5.3.0 Kategorie: string

Signatur

collator_get_error_message(Collator $object): string|false

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

Typ
string|false
Beschreibung
Gibt den Fehlertext als 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;
Vergleichsergebnis: -1 Fehlercode: 0 Fehlermeldung: U_ZERO_ERROR

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;
}
Sortierung erfolgreich: apple, banana, cherry

// 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.