PHP를 사용하여 알파벳의 다음 문자를 얻는 가장 효율적인 방법
a부터 z까지의 문자를 지정했을 때, PHP를 사용하여 알파벳의 다음 문자를 얻는 가장 효율적인 방법은 무엇입니까?
이 작업을 수행하는 가장 효율적인 방법은 문자열 변수를 늘리는 것입니다.
$str = 'a';
echo ++$str; // prints 'b'
$str = 'z';
echo ++$str; // prints 'aa'
표시된 바와 같이 증가'z'
줘'aa'
이것을 원하지 않고, 대신에 리셋 하고 싶은 경우는,'a'
단순히 결과 문자열의 길이를 확인할 수 있으며 문자열의 길이가>1
리셋합니다.
$ch = 'a';
$next_ch = ++$ch;
if (strlen($next_ch) > 1) { // if you go beyond z or Z reset to a or A
$next_ch = $next_ch[0];
}
Z 키를 눌렀을 때 무엇을 하고 싶은지에 따라 다르지만 몇 가지 옵션이 있습니다.
$nextChar = chr(ord($currChar) + 1); // "a" -> "b", "z" -> "{"
PHP를 사용할 수도 있습니다.range()
기능:
$chars = range('a', 'z'); // ['a', 'b', 'c', 'd', ...]
글쎄요, '엣지 케이스'로 정확히 무엇을 하고 싶은지에 따라 다르죠.캐릭터가 어떤 결과를 예상하십니까?z
또는Z
같은 케이스의 다음 글자를 원하십니까, 아니면 다음 글자를 원하십니까?
가장 기본적인 경우, 이에 대한 답을 모르는 상태에서 다음과 같이 할 수 있습니다.
$next_character = chr(ord($current_character) + 1);
하지만 당신이 에 있을 때Z
이것은 너에게 줄 것이다.[
,그리고.z
너에게 줄 것이다{
ASCII 값에 따릅니다.
설명에 따라 편집:
같은 케이스의 다음 문자가 필요한 경우 위의 행 뒤에 간단한 체크를 추가할 수 있습니다.
if ($next_character == '[')
$next_character = 'A';
else if ($next_character == '{')
$next_character = 'a';
이러한 조작은 매우 간단하기 때문에, 이러한 경우 효율성에 대해 염려할 필요는 없습니다.
<?php
$next = chr(ord($prev)+1);
?>
이 경우 소문자만 사용하므로 여기에 게시된 답변에 따라 다음 코드를 사용합니다.
function nextLetter(&$str) {
$str = ('z' === $str ? 'a' : ++$str);
}
도와줘서 고마워요, 여러분!
$val = 'z';
echo chr((((ord($val) - 97) + 1) % 26) + 97);
쉽고 간단하게 :-)
모든 글자의 배열을 만들고 기존 글자를 검색하여 다음 글자를 반환합니다.마지막 글자에 도달하면 첫 글자를 돌려주세요.
언급URL : https://stackoverflow.com/questions/2673360/most-efficient-way-to-get-next-letter-in-the-alphabet-using-php
'programing' 카테고리의 다른 글
pom.xml 파일에서 Java 컴파일러 버전을 지정하는 방법은 무엇입니까? (0) | 2022.09.08 |
---|---|
모든 jQuery Ajax 요청이 완료될 때까지 기다리시겠습니까? (0) | 2022.09.08 |
Java에서 수락된 메서드 호출 프랙티스로 'this'를 전달하고 있습니다. (0) | 2022.09.08 |
Javascript 'atob'과 'btoa'는 왜 그렇게 이름 붙여졌을까? (0) | 2022.09.08 |
MySQL SELECT AS는 두 열을 하나로 결합합니다. (0) | 2022.09.08 |