0)" を渡します{$s = inc($s);}" 最後の文字を除いた文字列を計算してキャリーします。"/> 0)" を渡します{$s = inc($s);}" 最後の文字を除いた文字列を計算してキャリーします。">

ホームページ  >  記事  >  バックエンド開発  >  PHPの文字列を1つ増やす方法

PHPの文字列を1つ増やす方法

藏色散人
藏色散人オリジナル
2023-02-07 09:26:513660ブラウズ

php 文字列を 1 ずつ増やす方法: 1. 新しい php サンプル ファイルを作成します; 2. "function inc($s) {...}" メソッドを作成します; 3. "while ($n)" を渡します-- > 0) {$s = inc($s);}" 最後の文字を除いた文字列を計算して桁上げします。

PHPの文字列を1つ増やす方法

このチュートリアルの動作環境: Windows 10 システム、PHP バージョン 8.1、DELL G3 コンピューター

php の拡​​張方法文字列を 1 ずつ?

php 数値文字列 1 の演算が累積して 1 つ追加されます (オーバーフローなし)

* inc.php

<?php
 
function inc($s) {
    if (empty($s)) {return "1";}
    if ( ! isset($s[1]) ) {
        $code = ord($s[0]) + 1;
        if ($code <= ord("9")) {
            return chr($code);
        }
        return "10";
    }
    $n = strlen($s);
    $code = ord($s[$n-1]) +1;
    if ($code <= ord("9")) {
        return substr($s, 0, $n-1).chr($code);
    }
    return inc(substr($s, 0, $n-1))."0";
}
 
$s = "2147483647";
$n = 10000;
while ($n-- > 0) {
    // printf("%s\n", $s);
    $s = inc($s);
}
printf("%s\n", $s); // "2147493647"

再帰 (キャリーが指定されている場合)必要な場合は、最初に最後の文字を除いた文字列を計算し、最後の文字を「0」に設定します。単一の数字 0 ~ 9 は明らかに扱いやすいです。

#* test:

<?php
 
$m = 2147483647;
 
$n = 10000;
while ($n-- > 0) {
    // printf("%d\n", $m);
    $m++;
}
printf("%d\n", $m);

比較結果は一貫しています

* add2.php // 1 ~ 4 個の大文字をトラバースします

<?php
 
function add($s) {
    if (empty($s)) {return "A";}
    if ( ! isset($s[1]) ) {
        $code = ord($s[0]) + 1;
        if ($code <= ord("Z")) {
            return chr($code);
        }
        return "AA";
    }
    $n = strlen($s);
    $code = ord($s[$n-1]) +1;
    if ($code <= ord("Z")) {
        return substr($s, 0, $n-1).chr($code);
    }
    return add(substr($s, 0, $n-1))."A";
}
 
$s = "";
do {
    $s = add($s);
    printf("%s\n", $s);
} while ($s != "ZZZZ");

推奨される学習: 「

PHP ビデオ チュートリアル

以上がPHPの文字列を1つ増やす方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。