Isih rentetan PHP

王林
Lepaskan: 2024-08-29 13:05:19
asal
588 orang telah melayarinya

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';
Salin selepas log masuk
  • Tukar rentetan kepada tatasusunan menggunakan kaedah split rentetan.
$stringndarray = str_split($sortstring);
Salin selepas log masuk
  • Gunakan kaedah rentetan isihan mengikut keperluan pengguna.
  • Gunakan kaedah sort() untuk mengisih rentetan mengikut susunan Menaik.
sort($stringndarray);
Salin selepas log masuk
  • Gunakan kaedah rsort() untuk mengisih rentetan mengikut tertib menurun.
rsort($stringndarray);
Salin selepas log masuk
  • Tukar tatasusunan kepada rentetan menggunakan kaedah meletup.
$stringndarray = implode($stringndarray);
Salin selepas log masuk
  • Kembalikan rentetan pengisihan dalam bahasa PHP.
echo $stringndarray;
Salin selepas log masuk

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>
Salin selepas log masuk

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…}
Salin selepas log masuk
  • Buat pembolehubah rentetan untuk mengisih rentetan.
$sortstring = 'jhjabcdewyxdef';
Salin selepas log masuk
  • Buat pembolehubah rentetan kedua untuk mengetahui panjang rentetan yang diberikan.
$stringlength;
Salin selepas log masuk
  • Buat pembolehubah rentetan ketiga untuk mengetahui kedudukan elemen rentetan dan mulakan dengan sifar.
$currentposition;
Salin selepas log masuk
  • Letakkan pembolehubah rentetan ini dalam fungsi sebagai argumen.
function sortStringphp(&$sortstring, $stringlength, $currentposition=0) {
write code here…
}
Salin selepas log masuk
  • Jika kedudukan arus rentetan dan panjang rentetan adalah sama maka kembalikan rentetan itu.
if($currentposition == $stringlength){ return; }
Salin selepas log masuk
  • Buat satu pembolehubah untuk menambah aksara rentetan dan mulakannya.
$nextposition = $currentposition + 1;
Salin selepas log masuk
  • 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++;
}
Salin selepas log masuk
  • Gunakan fungsi rekursif untuk mengelakkan pengulangan di dalam fungsi utama.
sortStringphp($sortstring, $stringlength, $currentposition+1);
Salin selepas log masuk
  • Kembalikan rentetan isihan dalam PHP.
sortStringphp($sortstring,strlen($sortstring));
echo $sortstring;
Salin selepas log masuk

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>
Salin selepas log masuk

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

Contoh:




Ascending Order

$givenstring"; ?>

Descending Order

$givenstring"; ?>
Salin selepas log masuk

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!

Label berkaitan:
php
sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan