如何在 PHP 中对正文进行排序
Posted
技术标签:
【中文标题】如何在 PHP 中对正文进行排序【英文标题】:How to sort a body of text in PHP 【发布时间】:2015-07-02 18:16:50 【问题描述】:所以我真的是 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 socialsqu ad litora torquent per conubia nostra per inceptos himenaeos in ac metus eget。"
首先让它显示在此处,然后按字母顺序对单词进行排序并在原始文本下显示结果。有没有办法以简单的方式实现这一点?
谢谢!
【问题讨论】:
可能有,你自己试过了吗? 我已经设法使用数组手动完成,但这并不是我真正想要的。我需要它来获取字符串,将其分割成单词,然后对它们进行排序。但正如我所说,我完全不是 PHP 向导。 【参考方案1】:您可以通过空格将字符串分解为数组,对其进行排序并将其分解为单个字符串。
类似的东西:
$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
编辑:
从评论中我看到您不想“手动”执行此操作。你可以把它包装成这样的函数:
$string = 'Beta Alpha Gamma';
function sortWordsInString($string, $glue = ' ')
$words = explode($glue, $string);
asort($words);
return implode($glue, $words);
$string = sortWordsInString($string);
【讨论】:
这正是我想要的!谢谢!【参考方案2】:像这样:
<?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
数组。
【讨论】:
完美!这就像我需要的那样工作。谢谢! @EmilEricsson 我很高兴它成功了。感谢某人的最好方法是接受答案。通过单击我的答案旁边的绿色复选标记来执行此操作。以上是关于如何在 PHP 中对正文进行排序的主要内容,如果未能解决你的问题,请参考以下文章