programing

PHP를 사용하여 알파벳의 다음 문자를 얻는 가장 효율적인 방법

randomtip 2022. 9. 8. 21:32
반응형

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';

이러한 조작은 매우 간단하기 때문에, 이러한 경우 효율성에 대해 염려할 필요는 없습니다.

ord()와 chr()사용하는 것은 어떻습니까?

<?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

반응형