преобразование версии pom.xml в числовой формат

Вот моя запись, простая и чистая ..

function array2xml($array, $xml = false){
    if($xml === false){
        $xml = new SimpleXMLElement('<root/>');
    }
    foreach($array as $key => $value){
        if(is_array($value)){
            array2xml($value, $xml->addChild($key));
        }else{
            $xml->addChild($key, $value);
        }
    }
    return $xml->asXML();
}


header('Content-type: text/xml');
print array2xml($array);
0
задан rpm192 18 January 2019 в 09:35
поделиться

2 ответа

Использование типа [version] хорошо, но оно неизменно. Этот код разбивает его на массив, увеличивает третье число (Build) и создает строку в $ newfinale.

Обратите внимание, что это не проверяет наличие третьего (Build) значения. Это приведет к исключению, если $ финал равен '1.2'.

PS C:\> $finale = '2.3.4.5'
PS C:\> $a = $finale.split('.')
PS C:\> $a[2] = [int]$a[2] + 1
PS C:\> $newfinale = $a -join '.'
PS C:\> $newfinale
2.3.5.5
0
ответ дан lit 18 January 2019 в 09:35
поделиться

Причина 1.0.123 не в математике. Это ни целое число, ни двойное число. Это просто строка, которая содержит цифры и символы. Вот почему вы получаете ошибку.

См. Следующие файлы справки: About_Arithmetic_Operators .NET Math Class

0
ответ дан Leon Evans 18 January 2019 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: