(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
version_compare — PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır
version_compare() işlevi PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır.
İşlev önce _
, -
ve
+
karakterlerini birer nokta .
ile
değiştirir, ardından numara olmayan dizgeciklerin önüne ve ardına birer
nokta konur. Örneğin, '4.3.2RC1' dizgesi '4.3.2.RC.1' haline gelir. Sonra
her bileşen soldan sağa karşılaştırılır. Bileşenlerin
içerdiği özel sürüm dizgeleri şu sıralamaya göre ele alınırlar:
bu listede olmayan bir dizge
<
dev
< alpha
=
a
< beta
=
b
< RC
=
rc
< #
<
pl
= p
. Bu yöntemle, '4.1' ve '4.1.2'
gibi farklı seviyelerden sürümler karşılaştırabileceği gibi geliştirme
sürümlerinin karşılaştırılması için de kullanılabilir.
sürüm1
İlk sürüm numarası.
sürüm2
İkinci sürüm numarası.
işleç
Olası işleçler sırasıyla şunlardır:
<
, lt
,
<=
, le
,
>
, gt
,
>=
, ge
,
==
, =
,
eq
, !=
,
<>
, ne
.
Bu bağımsız değişken harf büyüklüğüne duyarlıdır, yani değerlerin hepsi küçük harfli olmalıdır.
Öntanımlı olarak, version_compare() işlevi, birinci
sürüm ikincisinden küçükse -1
, büyükse
1
, eşitse 0
döndürür.
İsteğe bağlı işleç
bağımsız değişkeni kullanılırsa ve
sürümler arasında belirtilen ilişki varsa true
, aksi takdirde false
döner.
Aşağıdaki örnekte, kodu çalıştıran PHP sürümüne içermesi nedeniyle PHP_VERSION
sabiti kullanılmıştır.
Örnek 1 - version_compare() örnekleri
<?php
if (version_compare(PHP_VERSION, '7.0.0') >= 1) {
echo 'PHP sürümüm en azından 7.0.0, gerçek sürüm: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
echo 'PHP sürümüm en azından 5.3.0, gerçek sürüm: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
echo 'PHP sürümüm en azından 5.0.0, gerçek sürüm: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.0.0', '<')) {
echo 'Hala PHP 4 kullanıyorum, gerçek sürüm: ' . PHP_VERSION . "\n";
}
?>
Bilginize:
PHP_VERSION
sabiti kullanılan PHP'nin sürüm numarasını içerir.
Bilginize:
5.3.0-dev gibi ön dağıtım sürümleri için, ulaşacakları asıl sürümün numarasının alt sürümün numarası (PHP 5.3.0 gibi) olduğu varsayılır.
Bilginize:
alpha
vebeta
gibi özel sürüm dizgeleri harf büyüklüğüne duyarlıdır. PHP standardına uymayan gelişigüzel kaynaklardan gelen sürüm dizgelerinin version_compare() çağrılmadan önce strtolower() aracılığıyla küçük harfli yapılması gerekebilir.