首页 > 后端开发 > php教程 > PHP 字符串排序

PHP 字符串排序

王林
发布: 2024-08-29 13:05:19
原创
607 人浏览过

排序字符串对于以 PHP 语言所需的方式组织字符串很有用。字符串排序是使用 PHP 语言将给定字符串排序为所需格式的字符串方法。排序字符串是按照PHP技术中的排序函数对给定的排序字符串进行排列。排序字符串根据 Web 应用程序的要求对可用字符串进行分类和组装。排序字符串是按照 PHP 编码语言所需的升序或降序排列字符串。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

如何使用多种方式对 PHP 中的字符串进行排序?

对字符串进行排序的方法有很多种。下面是这些对字符串进行排序的方法。

1.第一种方法对字符串进行排序

字符串转换为数组并使用sort()方法。

  • 使用编码页上所需的值初始化字符串。
$sortstring = 'sadycetfimlog';
登录后复制
  • 使用字符串分割方法将字符串转换为数组。
$stringndarray = str_split($sortstring);
登录后复制
  • 根据用户的要求使用字符串排序方法。
  • 使用 sort() 方法按升序对字符串进行排序。
sort($stringndarray);
登录后复制
  • 使用 rsort() 方法对字符串进行降序排序。
rsort($stringndarray);
登录后复制
  • 使用 implode 方法将数组转换为字符串。
$stringndarray = implode($stringndarray);
登录后复制
  • 返回PHP语言的排序字符串。
echo $stringndarray;
登录后复制

示例:升序或降序排序字符串示例和输出。

<!DOCTYPE html>
<html>
<body>
<h3> Ascending Order of the Sort String </h3>
<?php
$sortstring = "sadycetfimlogb";
echo "given string is : <b>$sortstring </b><br/> ";
$stringndarray = str_split($sortstring);
sort($stringndarray);
$stringndarray = implode($stringndarray);
echo " sorting string in the ascending order: <b>$stringndarray</b><br/>";
?>
<h3> Descending Order of the Sort String </h3>
<?php
$sortstring = "bnhrzsadycetfimlog";
echo "given string is : <b>$sortstring </b><br/> ";
$stringndarray = str_split($sortstring);
rsort($stringndarray);
$stringndarray = implode($stringndarray);
echo " sorting string in the descending order: <b>$stringndarray</b>";
?>
</body>
</html>
登录后复制

输出:

PHP 字符串排序

2.字符串排序的第二种方法

字符串交换位置并使用参数对字符串进行排序。

  • 排序字符串创建一个函数。
function sortStringphp (place arguments here…) {write code here…}
登录后复制
  • 创建一个字符串变量来对字符串进行排序。
$sortstring = 'jhjabcdewyxdef';
登录后复制
  • 创建第二个字符串变量以了解给定字符串的长度。
$stringlength;
登录后复制
  • 创建第三个字符串变量以了解字符串元素的位置并以零初始化。
$currentposition;
登录后复制
  • 将这些字符串变量作为参数放入函数中。
function sortStringphp(&$sortstring, $stringlength, $currentposition=0) {
write code here…
}
登录后复制
  • 如果字符串当前位置和字符串长度相等,则返回该字符串。
if($currentposition == $stringlength){ return; }
登录后复制
  • 创建一个变量来递增字符串的字符并初始化它。
$nextposition = $currentposition + 1;
登录后复制
  • 使用交换字符串字符位置的算法。
while($nextposition< $stringlength){
if($sortstring[$nextposition] < $sortstring[$currentposition]){
$tempstring = $sortstring[$nextposition];
$sortstring[$nextposition] = $sortstring[$currentposition];
$sortstring[$currentposition] = $tempstring;
}
$nextposition++;
}
登录后复制
  • 使用递归函数来避免主函数内部的递归。
sortStringphp($sortstring, $stringlength, $currentposition+1);
登录后复制
  • 返回 PHP 中的排序字符串。
sortStringphp($sortstring,strlen($sortstring));
echo $sortstring;
登录后复制

示例:

<!DOCTYPE html>
<html>
<body>
<h3> Ascending Order </h3>
<?php
$sortstring = 'iamgoodinthisplace';
echo "the given string : <b> $sortstring </b> <br/>";
$stringlength;
$currentposition;
function sortStringphp(&$sortstring, $stringlength, $currentposition=0) {
$nextposition = $currentposition + 1;
while($nextposition < $stringlength){
if($sortstring[$nextposition] < $sortstring[$currentposition]){
$tempstring = $sortstring[$nextposition];
$sortstring[$nextposition] = $sortstring[$currentposition];
$sortstring[$currentposition] = $tempstring;
}
$nextposition++;
}
if($currentposition == $stringlength){
return;
}
sortStringphp($sortstring, $stringlength, $currentposition+1);
}
sortStringphp($sortstring,strlen($sortstring));
echo " the sorted string : <b> $sortstring </b>";
?>
<h3> Descending Order </h3>
<?php
$sortstring1 = 'iamgoodinthisplace';
echo "the given string : <b> $sortstring1 </b> <br/>";
$stringlength1;
$currentposition1;
function sortStringphp1(&$sortstring1, $stringlength1, $currentposition1=0) {
if($currentposition1 == $stringlength1)
return
$nextposition1 = $currentposition1 + 1;
while($nextposition1 < $stringlength1){
if($sortstring1[$nextposition1] < $sortstring1[$currentposition1]){
$tempstring1 = $sortstring1[$nextposition1];
$sortstring1[$nextposition1] = $sortstring1[$currentposition1];
$sortstring1[$currentposition1] = $tempstring1;
}
$nextposition1++;
}
sortStringphp1($sortstring1, $stringlength1, $currentposition1+1);
}
sortStringphp1($sortstring1,strlen($sortstring1));
echo " the sorted string : <b> $sortstring1 </b>";
?>
</body>
</html>
登录后复制

输出:

PHP 字符串排序

3.字符串排序的第三种方法

快速排序算法用于对字符串进行排序。

  • 创建这两个变量是为了帮助对字符串进行分区。
$stringleft = $stringright = '';
登录后复制
  • 创建变量是为了测量字符串的长度。
$stringlength = strlen($sortstring)-1 ;
登录后复制
  • 如果字符串长度等于0则返回字符串并停止排序。
if ($stringlength <= 0) {
return $sortstring;
}
登录后复制
  • 创建一个变量来创建字符串的中间(枢轴)。
$pivot = floor($stringlength/2);
登录后复制
  • 使用 do-while 循环进行排序算法。
do{
write sort string code here..
}while(sort string condition…)
登录后复制
  • 如果字符串和中间字符串变量的长度相等,则停止中断并继续下一个循环。
if ($stringlength == $middlestring){
continue;
}
登录后复制
  • 根据要求使用升序或降序排序逻辑。
if ($sortstring[$stringlength] >= $sortstring[$middlestring]) {
$stringleft = $stringleft.$sortstring[$stringlength];
} else {
$stringright = $stringright.$sortstring[$stringlength];
}
登录后复制
  • 根据算法返回排序字符串。
return sortStringphp($stringleft).$sortstring[$middlestring].sortStringphp($stringright);
登录后复制
  • 在 php 中打印排序字符串。
$givenstring = sortStringphp ("goodtohaveacoffee");
echo " the sort string : <b>$givenstring</b>"
登录后复制

示例:




Ascending Order

$givenstring"; ?>

Descending Order

$givenstring"; ?>
登录后复制

输出:

PHP 字符串排序

结论

  • 排序字符串有助于根据用户需求对字符串数据进行分类并将其显示在 Web 应用程序上。
  • 排序字符串按照 Web 应用程序和网站的顺序排序和显示字符串字符。

以上是PHP 字符串排序的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板