2014-01-14 4 views
0

В моем приложении пользователь может добавить номер версии в поле ввода, предположим, что сначала он добавит номер версии, например, 1.0.1, и в следующий раз ему нужно ввести номер более высокой версии, как я могу его проверить в php.Regex для строки ввода для номеров версий

Различные типы номеров версий
1,0
1.0.1
1,01

это может быть любая комбинация

может кто-нибудь помочь мне здесь?

+0

Вы имеете в виду, что хотите подтвердить, что ввод номера новой версии выше старого? – rccoros

+0

сохранить версию как майор и изменить ... и выбрать max из всех – user1844933

+0

yes Я хочу проверить, что ввод номера новой версии выше старого. –

ответ

0

Вы можете попробовать это.

$version="1.0.1.1"; 
$versionnew="1.0.1.0"; 

//explode the version to be able to compare each and every part of the version 
$versionArray = explode(".",$version); 
$versionnewArray = explode(".",$versionnew); 

//the maximum depth of comparison 
$limit = min(count($versionArray),count($versionnewArray)); 

for($i=0;$i<$limit;$i++){ 
    if($versionArray[$i] == $versionnewArray[$i]){ 
     continue; 
    }else if($versionArray[$i] > $versionnewArray[$i]){ 
     echo $versionnew . " should be newer than " . $version; 
    }else echo $versionnew . " is newer than " . $version; 
} 
+0

работает для меня, спасибо +1 –

0

Это может помочь вам получить движение

$newVersion= "1.2"; //get a string reference to your version here 
$oldVersion = "1.3";  
$piecesNew = explode(".", $newVersion); //This will give you an array existing of [1,2] 
$piecesOld = explode(".", $oldVersion); //This will give you an array existing of [1,3] 
//Do some checking here for each number 
+1

Да, это решит мою проблему с одной стороны, но что, если номер версии например 1.0.1 или 1.0.0.1 или 1 и т. д. Мне нужен обобщенный способ справиться с этим. –

+0

Для этого вам понадобятся некоторые, если затем else. Для начала вы можете проверить, имеют ли оба массива одинаковые длины. Если так сравнивать их, если не сравнивать их, и если они равны, последняя позиция новых частей должна быть установлена ​​ –

Смежные вопросы