version_compare

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

version_compareVergleicht zwei Versionsnummern im PHP-Stil

Beschreibung

version_compare ( string $version1 , string $version2 ) : int
version_compare ( string $version1 , string $version2 , string $operator ) : bool

version_compare() vergleicht zwei den PHP-Versionen angeglichenen Versionsnummern.

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. Anschließend 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.

Parameter-Liste

version1

Erste Versionsnummer.

version2

Zweite Versionsnummer.

operator

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 Groß- und Kleinschreibung, die Werte sollten alle kleingeschrieben werden.

Rückgabewerte

Standardmäßig gibt version_compare() -1 zurück, wenn die erste Version kleiner ist als die zweite, 0, wenn die Versionen gleich sind und 1, wenn die zweite Version kleiner ist.

Wenn der optionale Parameter operator übergeben wurde, gibt die Funktion TRUE oder FALSE zurück, je nach dem, ob das mit dem Operator definierte Verhältnis der Wahrheit entspricht oder nicht. Wird ein nicht unterstützter operator angegeben, wird NULL zurückgegeben.

Beispiele

Das untenstehende Beispiel benutzt die Konstante PHP_VERSION, die die Version des aktuell ausführenden PHP-Interpreters enthält.

Beispiel #1 version_compare()-Beispiele

<?php
if (version_compare(PHP_VERSION'7.0.0') >= 0) {
    echo 
'Ich bin mindestens PHP 7.0.0, meine Version: ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.3.0') >= 0) {
    echo 
'Ich bin mindestens PHP 5.3.0, meine Version: ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.0.0''>=')) {
    echo 
'Ich bin mindestens PHP 5, meine Version: ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.0.0''<')) {
    echo 
'Ich bin noch PHP 4, meine Version: ' PHP_VERSION "\n";
}
?>

Anmerkungen

Hinweis:

Die Konstante PHP_VERSION enthält die aktuelle PHP-Version

Hinweis:

Vorveröffentlichte Versionen wie 5.3.0-dev werden als kleiner erkannt als ihre finalen Veröffentlichungen wie 5.3.0.

Hinweis:

Bei besonderen Versionszeichenketten wie alpha und beta wird zwischen Groß-/Kleinschreibung unterschieden. Versionszeichenketten aus beliebigen Quellen, die nicht den PHP-Standard einhalten, müssen bei Bedarf mit strtolower() in Kleinschreibung gewandelt werden bevor version_compare() aufgerufen wird.

Siehe auch

  • phpversion() - Liefert die aktuelle PHP-Version
  • php_uname() - Returns information about the operating system PHP is running on
  • function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben