Jér*_*nge 18 php sorting string character
我有一组包含PHP脚本中字符的字符串,我需要在每个字符串中对这些字符进行排序.
例如:
"bac" -> "abc"
"abc" -> "abc"
"" -> ""
"poeh" -> "ehop"
Run Code Online (Sandbox Code Playgroud)
这些字符没有重音,都是小写.我怎么能在PHP中执行此操作?
Mik*_*e B 41
我会使它成为一个数组并使用sort函数:
$string = 'bac';
$stringParts = str_split($string);
sort($stringParts);
echo implode('', $stringParts); // abc
Run Code Online (Sandbox Code Playgroud)
使用sort时,它必须是小写文本.我有大写字符串导致我的极端字符串重站点上的许多问题asort()和sort()不知道这个;).我使用以下函数来快速编写脚本.注意allChars函数的"strtolower".然后,您可以稍后使用小写操作.或者,处理大写和小写的其他字符串顺序是natcasesort().处理正确(自然)排序的Natcasesort - 就像我们在纸上订购东西一样.您可以提供一个数组,并使用foreach来分隔每个单词.或者,使用它是创建处理数组的函数的基础.您可以使用implode('',$ letters)而不是foreach语句 - 但是如果需要,此函数允许您更改字母 - 只需在foreach中执行此操作即可.在有人喜欢的情况下,还添加了内爆功能.
function allChars($w){
$letters = str_split(strtolower($w)); sort($letters);
$ret = "";
foreach($letters as $letter){
$ret .= $letter;
}
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
function implodeAllChars($w){
$letters = str_split(strtolower($w)); sort($letters);
return implode('',$letters);
}
Run Code Online (Sandbox Code Playgroud)
function allCharsNat($w){
$letters = str_split($w); natcasesort($letters);
$ret = "";
foreach($letters as $letter){
$ret .= $letter;
}
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
function allCharsNatImplode($w){
$letters = str_split($w); natcasesort($letters);
return implode('',$letters);
}
Run Code Online (Sandbox Code Playgroud)
它快速而简单.