如何对 PHP 中的正文进行排序
How to sort a body of text in PHP
所以我是 PHP 的新手,我正在尝试学习一些新技巧,希望你们能帮助我。
例如,我想使用这段文字:
"Lorem ipsum dolor sit amet consectetur adipiscing elit quisque facilisis tincidunt finibus aliquam id tempor elit ut in massa quis nisi dapibus tempus class aptent taciti sociosqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget."
然后先按原样显示,然后再按字母顺序排列并将结果显示在原文下方。有没有办法以简单的方式实现这一点?
谢谢!
像这样:
<?php
$text = "Lorem ipsum dolor sit amet consectetur adipiscing elit quisque facilisis tincidunt finibus aliquam id tempor elit ut in massa quis nisi dapibus tempus class aptent taciti sociosqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget.";
echo $text."\n\n";
$pieces = explode(' ', $text);
natcasesort($pieces);
echo implode(' ', $pieces);
您基本上需要explode
将整个文本转换成单词。从那里你 natcasesort
按字母顺序返回的数组。最后你 implode
数组。
您可以按空格将字符串分解为一个数组,对其进行排序,然后将其分解回单个字符串。
类似的东西:
$string = "Lorem ipsum dolor sit amet consectetur adipiscing elit quisque facilisis tincidunt finibus aliquam id tempor elit ut in massa quis nisi dapibus tempus class aptent taciti sociosqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget.";
print $string;
// Explode string by spaces
$words = explode(' ', $string);
// Sort the array of words
asort($words);
// Join the elements of the array with spaces
$string = implode(' ', $words);
print $string;
希望对您有所帮助!有关数组排序的详细信息,请查看 manual
编辑:
从评论中我看到你不想这样做 'manually'。您可以将其包装成这样的函数:
$string = 'Beta Alpha Gamma';
function sortWordsInString($string, $glue = ' ') {
$words = explode($glue, $string);
asort($words);
return implode($glue, $words);
}
$string = sortWordsInString($string);
所以我是 PHP 的新手,我正在尝试学习一些新技巧,希望你们能帮助我。
例如,我想使用这段文字: "Lorem ipsum dolor sit amet consectetur adipiscing elit quisque facilisis tincidunt finibus aliquam id tempor elit ut in massa quis nisi dapibus tempus class aptent taciti sociosqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget."
然后先按原样显示,然后再按字母顺序排列并将结果显示在原文下方。有没有办法以简单的方式实现这一点?
谢谢!
像这样:
<?php
$text = "Lorem ipsum dolor sit amet consectetur adipiscing elit quisque facilisis tincidunt finibus aliquam id tempor elit ut in massa quis nisi dapibus tempus class aptent taciti sociosqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget.";
echo $text."\n\n";
$pieces = explode(' ', $text);
natcasesort($pieces);
echo implode(' ', $pieces);
您基本上需要explode
将整个文本转换成单词。从那里你 natcasesort
按字母顺序返回的数组。最后你 implode
数组。
您可以按空格将字符串分解为一个数组,对其进行排序,然后将其分解回单个字符串。
类似的东西:
$string = "Lorem ipsum dolor sit amet consectetur adipiscing elit quisque facilisis tincidunt finibus aliquam id tempor elit ut in massa quis nisi dapibus tempus class aptent taciti sociosqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget.";
print $string;
// Explode string by spaces
$words = explode(' ', $string);
// Sort the array of words
asort($words);
// Join the elements of the array with spaces
$string = implode(' ', $words);
print $string;
希望对您有所帮助!有关数组排序的详细信息,请查看 manual
编辑:
从评论中我看到你不想这样做 'manually'。您可以将其包装成这样的函数:
$string = 'Beta Alpha Gamma';
function sortWordsInString($string, $glue = ' ') {
$words = explode($glue, $string);
asort($words);
return implode($glue, $words);
}
$string = sortWordsInString($string);