PHP 문자열을 1씩 늘리는 방법: 1. 새 PHP 샘플 파일을 만듭니다. 2. "function inc($s) {...}" 메서드를 만듭니다. 3. "while($n-- >)을 전달합니다. ; 0) {$s = inc($s);}" 마지막 문자를 제외한 문자열을 계산한 후 전달합니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP 문자열을 1씩 늘리는 방법은 무엇입니까?
php 숫자 문자열 + 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는 확실히 다루기 쉽습니다.
* 테스트:
<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!