我有一个字符串。
我想要反转每个单词中的字母而不是颠倒单词顺序。
喜欢 - '我的字符串'
应该是
'ym gnirts'
答案 0 :(得分:6)
这应该有效:
$words = explode(' ', $string);
$words = array_map('strrev', $words);
echo implode(' ', $words);
或者作为一个单行:
echo implode(' ', array_map('strrev', explode(' ', $string)));
答案 1 :(得分:2)
echo implode(' ', array_reverse(explode(' ', strrev('my string'))));
这比在爆炸原始字符串后反转数组的每个字符串要快得多。
答案 2 :(得分:1)
Functionified:
<?php
function flipit($string){
return implode(' ',array_map('strrev',explode(' ',$string)));
}
echo flipit('my string'); //ym gnirts
?>
答案 3 :(得分:0)
这应该可以解决问题:
function reverse_words($input) {
$rev_words = [];
$words = split(" ", $input);
foreach($words as $word) {
$rev_words[] = strrev($word);
}
return join(" ", $rev_words);
}
答案 4 :(得分:0)
我愿意:
$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