나는 문자열이 있습니다.단어에서 문자를 역순으로 PHP에서 가장 좋은 방법은 무엇입니까
단어 순서를 바꾸지 않고 모든 단어의 문자를 뒤집고 싶습니다. 같은
- '내 캐릭터'
는
가 있어야한다 'YM gnirts'
나는 문자열이 있습니다.단어에서 문자를 역순으로 PHP에서 가장 좋은 방법은 무엇입니까
단어 순서를 바꾸지 않고 모든 단어의 문자를 뒤집고 싶습니다. 같은
- '내 캐릭터'
는
가 있어야한다 'YM gnirts'
이 작동합니다 :
$words = explode(' ', $string);
$words = array_map('strrev', $words);
echo implode(' ', $words);
또는 한 - 라이너 :
echo implode(' ', array_map('strrev', explode(' ', $string)));
을
echo implode(' ', array_reverse(explode(' ', strrev('my string'))));
원래의 문자열을 폭발시킨 후 배열의 모든 문자열을 역전하는 것보다 훨씬 빠릅니다.
function reverse_words($input) {
$rev_words = [];
$words = split(" ", $input);
foreach($words as $word) {
$rev_words[] = strrev($word);
}
return join(" ", $rev_words);
}
배열 함수가 문자열 함수보다 빠르기 때문에 참입니다. 그게 그렇게 중요한 건가? 한 번에 수십억 개의 문자열을 뒤집 지 않는 한 그렇지 않습니다. – deceze
이 트릭을 할해야
$string = "my string";
$reverse_string = "";
// Get each word
$words = explode(' ', $string);
foreach($words as $word)
{
// Reverse the word, add a space
$reverse_string .= strrev($word) . ' ';
}
// remove the last inserted space
$reverse_string = substr($reverse_string, 0, strlen($reverse_string) - 1);
echo $reverse_string;
// result: ym gnirts
'split()'은 POSIX Regex 확장의 일부이며, PHP 5.3.0에서는 PCRE (Perl-Compatible Regex)를 사용하지 않습니다. 하지만 어쨌든 정규 표현식이 필요 없으면'explode()'만하면됩니다. –
아, 잘 안다. 고마워. –
내가 할 것 :
Functionified을 :
<?php
function flipit($string){
return implode(' ',array_map('strrev',explode(' ',$string)));
}
echo flipit('my string'); //ym gnirts
?>
일을 다음 array_map이 좋은 터치입니다! –
knahT uoy : o))) – deceze