PHP
Referenzliste
version_compare
PHP-Informationen
Befehl:
mixed version_compare ( string $version1 , string $version2 [, string $operator ] )
Parameter-Liste:
Beschreibung | |
---|---|
Erste Versionsnummer. | |
Zweite Versionsnummer. | |
Wenn der freiwillige Parameter operator angegeben ist, wird auf ein bestimmtes Verhältnis geprüft. Mögliche Operatoren sind: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne.Dieser Parameter berücksicht Gross- und Kleinschreibung, die Werte sollten alle kleingeschrieben werden. |
Beschreibung:
version_compare() vergleicht zwei den PHP-Versionen angeglichenen Versionsnummern. Dies ist beispielsweise nützlich, wenn Code nur unter bestimmten Versionen von PHP funktionieren soll.
Zuerst ersetzt die Funktion _, - und + durch einen Punkt . in den Versionsangaben und setzt vor und nach jeder Kette aus nicht-numerischen Zeichen Punkte ein, sodass beispielsweise '4.3.2RC1' zu '4.3.2.RC.1' wird. Dann wird diese Zeichenkette an den Punkten aufgespalten wie wenn man explode('.', $ver) benutzen würde. Anschliessend werden von links nach rechts die Teile verglichen. Wenn ein Teil spezielle Zeichen enthält, werden diese nach der folgenden Reihenfolge behandelt: jede Zeichenkette, die nicht in dieser Liste vorkommt < dev < alpha = a < beta = b < RC = rc < # < pl = p. Auf diese Weise können nicht nur Versionen verschiedener Tiefe wie '4.1' und '4.1.2' sondern auch alle anderen Versionen verglichen werden, die sich auf bestimmte Entwicklungsstadien von PHP beziehen.
Zuerst ersetzt die Funktion _, - und + durch einen Punkt . in den Versionsangaben und setzt vor und nach jeder Kette aus nicht-numerischen Zeichen Punkte ein, sodass beispielsweise '4.3.2RC1' zu '4.3.2.RC.1' wird. Dann wird diese Zeichenkette an den Punkten aufgespalten wie wenn man explode('.', $ver) benutzen würde. Anschliessend werden von links nach rechts die Teile verglichen. Wenn ein Teil spezielle Zeichen enthält, werden diese nach der folgenden Reihenfolge behandelt: jede Zeichenkette, die nicht in dieser Liste vorkommt < dev < alpha = a < beta = b < RC = rc < # < pl = p. Auf diese Weise können nicht nur Versionen verschiedener Tiefe wie '4.1' und '4.1.2' sondern auch alle anderen Versionen verglichen werden, die sich auf bestimmte Entwicklungsstadien von PHP beziehen.
Aktiv in Version:
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
Hinweis:
Die Konstante PHP_VERSION enthält die aktuelle PHP-Version
Vorveröffentlichte Versionen wie 5.3.0-dev werden als kleiner erkannt als ihre finalen Veröffentlichungen wie 5.3.0.
Vorveröffentlichte Versionen wie 5.3.0-dev werden als kleiner erkannt als ihre finalen Veröffentlichungen wie 5.3.0.
Hinweis:
Sonderversion Strings wie alpha-und beta-und Kleinschreibung. Version Saiten aus beliebigen Quellen, die nicht mit der PHP-Standard halten werden, müssen eventuell über strtolower() kleingeschrieben werden, bevor Sie version_compare().
Siehe auch:
Liefert die aktuelle PHP-Version
Gibt Informationen über das Betriebssystem läuft auf PHP
Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
version_compare() - Beispiel:
Eingabe:
Das untenstehende Beispiel benutzt die Konstante PHP_VERSION, die die Version des aktuell ausführenden PHP-Interpreters enthält.
<?php if (version_compare(PHP_VERSION, '6.0.0') >= 0) { echo 'Ich bin mindestens PHP 6.0.0, und zwar: ' . PHP_VERSION . "\n"; } if (version_compare(PHP_VERSION, '5.3.0') >= 0) { echo 'Ich bin mindestens PHP 5.3.0, nämlich: ' . PHP_VERSION . "\n"; } if (version_compare(PHP_VERSION, '5.0.0', '>=')) { echo 'Ich bin PHP 5. Meine Versionsnummer lautet: ' . PHP_VERSION . "\n"; } if (version_compare(PHP_VERSION, '5.0.0', '<')) { echo 'Ich bin PHP 4. Meine Versionsnummer lautet: ' . PHP_VERSION . "\n"; } ?>
PHP-Informationen