Signatur
Beschreibung
collator_get_strength() liest die aktuell eingestellte Vergleichsstärke eines Collator-Objekts aus. Die Stärke bestimmt, wie genau Zeichen beim Sortieren und Vergleichen unterschieden werden – zum Beispiel ob Groß-/Kleinschreibung, Akzente oder Satzzeichen berücksichtigt werden.
Die Rückgabe ist eine der Konstanten Collator::PRIMARY, Collator::SECONDARY, Collator::TERTIARY, Collator::QUATERNARY oder Collator::IDENTICAL. Sie entsprechen aufsteigender Vergleichsgenauigkeit.
Diese Funktion ist die prozedurale Entsprechung der Objektmethode Collator::getStrength(). Sie ist besonders nützlich, um die aktuelle Konfiguration eines Collators zu inspizieren, bevor Anpassungen vorgenommen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $object Pflicht | Collator | Ein Collator-Objekt, das zuvor mit collator_create() oder new Collator() erzeugt wurde. |
Rückgabewert
Collator::PRIMARY (0), Collator::SECONDARY (1), Collator::TERTIARY (2), Collator::QUATERNARY (3) oder Collator::IDENTICAL (15). Im Fehlerfall wird false zurückgegeben.Beispiele
Aktuelle Stärke eines Collators auslesen
<?php
$collator = collator_create('de_DE');
$strength = collator_get_strength($collator);
switch ($strength) {
case Collator::PRIMARY:
echo 'Stärke: PRIMARY (nur Basiszeichen)';
break;
case Collator::SECONDARY:
echo 'Stärke: SECONDARY (Basiszeichen + Akzente)';
break;
case Collator::TERTIARY:
echo 'Stärke: TERTIARY (+ Groß-/Kleinschreibung)';
break;
case Collator::QUATERNARY:
echo 'Stärke: QUATERNARY (+ Satzzeichen)';
break;
case Collator::IDENTICAL:
echo 'Stärke: IDENTICAL (vollständige Übereinstimmung)';
break;
default:
echo 'Unbekannte Stärke: ' . $strength;
}
Stärke prüfen und anpassen
<?php
$collator = collator_create('fr_FR');
echo 'Aktuelle Stärke: ' . collator_get_strength($collator) . PHP_EOL;
// Stärke auf PRIMARY setzen (nur Basiszeichen vergleichen)
collator_set_strength($collator, Collator::PRIMARY);
echo 'Neue Stärke: ' . collator_get_strength($collator) . PHP_EOL;
// Vergleich mit PRIMARY-Stärke: 'e' == 'é' == 'E'
$result = collator_compare($collator, 'e', 'é');
echo 'Vergleich e und é: ' . ($result === 0 ? 'gleich' : 'unterschiedlich') . PHP_EOL;
// Wichtig · Fallstricke
Die Standardstärke eines neu erstellten Collator-Objekts ist sprachabhängig, beträgt aber in den meisten Locales Collator::TERTIARY (Wert 2). Die Stärke beeinflusst direkt das Verhalten von collator_compare() und collator_sort().
Die Konstante Collator::IDENTICAL hat den numerischen Wert 15 (nicht 4), was bei direkten Integer-Vergleichen zu Überraschungen führen kann. Nutzen Sie daher stets die Konstanten statt roher Zahlenwerte.