Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. VersionParser.php

function VersionParser::manipulateVersionString

Increment, decrement, or simply pad a version number.

Support function for {@link parseConstraint()}

@phpstan-param string[] $matches

Parameters

array $matches Array with version parts in array indexes 1,2,3,4:

int $position 1,2,3,4 - which segment of the version to increment/decrement:

int $increment:

string $pad The string to pad version parts after $position:

Return value

string|null The new version

1 call to VersionParser::manipulateVersionString()
VersionParser::parseConstraint in vendor/composer/semver/src/VersionParser.php
@phpstan-return non-empty-array<ConstraintInterface>

File

vendor/composer/semver/src/VersionParser.php, line 543

Class

VersionParser
Version parser.

Namespace

Composer\Semver

Code

private function manipulateVersionString(array $matches, $position, $increment = 0, $pad = '0') {
    for ($i = 4; $i > 0; --$i) {
        if ($i > $position) {
            $matches[$i] = $pad;
        }
        elseif ($i === $position && $increment) {
            $matches[$i] += $increment;
            // If $matches[$i] was 0, carry the decrement
            if ($matches[$i] < 0) {
                $matches[$i] = $pad;
                --$position;
                // Return null on a carry overflow
                if ($i === 1) {
                    return null;
                }
            }
        }
    }
    return $matches[1] . '.' . $matches[2] . '.' . $matches[3] . '.' . $matches[4];
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal