Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Isih rentetan PHP

Isih rentetan PHP

王林
王林asal
2024-08-29 13:05:19579semak imbas

Rentetan isihan berguna untuk rentetan tersusun dengan cara yang diperlukan dalam bahasa PHP. Rentetan isihan ialah kaedah rentetan untuk mengisih rentetan yang diberikan kepada format yang diperlukan menggunakan bahasa PHP. Rentetan isihan sedang menyusun rentetan isihan yang diberikan mengikut fungsi isihan dalam teknologi PHP. Rentetan isihan mengkategorikan dan memasang rentetan yang tersedia mengikut keperluan aplikasi web. Rentetan isihan sedang menyelesaikan rentetan mengikut tertib menaik atau menurun yang diperlukan dalam bahasa pengekodan PHP.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Bagaimana untuk mengisih rentetan dalam PHP menggunakan pelbagai cara?

Terdapat banyak cara untuk mengisih rentetan. Kaedah isihan rentetan ini adalah di bawah.

1. Kaedah pertama Rentetan Isih

String Tukar kepada tatasusunan dan gunakan kaedah isihan ().

  • Mulakan rentetan dengan nilai yang diperlukan pada halaman pengekodan.
$sortstring = 'sadycetfimlog';
  • Tukar rentetan kepada tatasusunan menggunakan kaedah split rentetan.
$stringndarray = str_split($sortstring);
  • Gunakan kaedah rentetan isihan mengikut keperluan pengguna.
  • Gunakan kaedah sort() untuk mengisih rentetan mengikut susunan Menaik.
sort($stringndarray);
  • Gunakan kaedah rsort() untuk mengisih rentetan mengikut tertib menurun.
rsort($stringndarray);
  • Tukar tatasusunan kepada rentetan menggunakan kaedah meletup.
$stringndarray = implode($stringndarray);
  • Kembalikan rentetan pengisihan dalam bahasa PHP.
echo $stringndarray;

Contoh: rentetan isihan dengan contoh dan output tertib menaik atau menurun.

<!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>

Output:

Isih rentetan PHP

2. Kaedah kedua Rentetan Isih

String bertukar kedudukan dan gunakan argumen untuk mengisih rentetan.

  • Rentetan isihan mencipta fungsi.
function sortStringphp (place arguments here…) {write code here…}
  • Buat pembolehubah rentetan untuk mengisih rentetan.
$sortstring = 'jhjabcdewyxdef';
  • Buat pembolehubah rentetan kedua untuk mengetahui panjang rentetan yang diberikan.
$stringlength;
  • Buat pembolehubah rentetan ketiga untuk mengetahui kedudukan elemen rentetan dan mulakan dengan sifar.
$currentposition;
  • Letakkan pembolehubah rentetan ini dalam fungsi sebagai argumen.
function sortStringphp(&$sortstring, $stringlength, $currentposition=0) {
write code here…
}
  • Jika kedudukan arus rentetan dan panjang rentetan adalah sama maka kembalikan rentetan itu.
if($currentposition == $stringlength){ return; }
  • Buat satu pembolehubah untuk menambah aksara rentetan dan mulakannya.
$nextposition = $currentposition + 1;
  • Gunakan algoritma Tukar kedudukan aksara rentetan.
while($nextposition< $stringlength){
if($sortstring[$nextposition] < $sortstring[$currentposition]){
$tempstring = $sortstring[$nextposition];
$sortstring[$nextposition] = $sortstring[$currentposition];
$sortstring[$currentposition] = $tempstring;
}
$nextposition++;
}
  • Gunakan fungsi rekursif untuk mengelakkan pengulangan di dalam fungsi utama.
sortStringphp($sortstring, $stringlength, $currentposition+1);
  • Kembalikan rentetan isihan dalam PHP.
sortStringphp($sortstring,strlen($sortstring));
echo $sortstring;

Contoh:

<!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>

Output:

Isih rentetan PHP

3. Kaedah ketiga Rentetan Isih

Algoritma Quicksort digunakan untuk mengisih rentetan.

  • Dua pembolehubah dicipta untuk membantu membuat partition rentetan.
$stringleft = $stringright = '';
  • Pembolehubah mencipta untuk mengukur panjang rentetan.
$stringlength = strlen($sortstring)-1 ;
  • Jika panjang rentetan itu sama dengan sifar, kembalikan rentetan itu dan hentikan pengisihan.
if ($stringlength <= 0) {
return $sortstring;
}
  • Buat pembolehubah untuk mencipta bahagian tengah rentetan (pangsi).
$pivot = floor($stringlength/2);
  • Gunakan gelung do-while untuk algoritma pengisihan.
do{
write sort string code here..
}while(sort string condition…)
  • Jika panjang rentetan dan pembolehubah rentetan tengah adalah sama maka hentikan pemecahan dan teruskan gelung seterusnya.
if ($stringlength == $middlestring){
continue;
}
  • Gunakan logik pengisihan menaik atau menurun mengikut keperluan.
if ($sortstring[$stringlength] >= $sortstring[$middlestring]) {
$stringleft = $stringleft.$sortstring[$stringlength];
} else {
$stringright = $stringright.$sortstring[$stringlength];
}
  • Kembalikan rentetan pengisihan mengikut algoritma.
return sortStringphp($stringleft).$sortstring[$middlestring].sortStringphp($stringright);
  • cetak rentetan isihan dalam php.
$givenstring = sortStringphp ("goodtohaveacoffee");
echo " the sort string : <b>$givenstring</b>"

Contoh:




Ascending Order

$givenstring"; ?>

Descending Order

$givenstring"; ?>

Output:

Isih rentetan PHP

Kesimpulan

  • Rentetan isihan membantu mengkategorikan data rentetan mengikut keperluan pengguna dan memaparkannya pada aplikasi web.
  • Isih rentetan menyusun dan memaparkan aksara rentetan mengikut susunan aplikasi web dan tapak web.

Atas ialah kandungan terperinci Isih rentetan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP usort()Artikel seterusnya:PHP usort()