PHP tömb ábc rendezése, Magyar írásjeleknél

PHP Magyar írásjelek, azaz, hu stringek ÁBC rendezése.

Alkalmazott PHP verzió: 7.4.33
Tesztelésekhez elvárt PHP verzió = 5.4.34 vagy újabb.
Ezen fájl kódolása: UTF-8 BOM ---- <meta charset="UTF-8">


Weboldalon semmi keresnivalójuk nincs:
Hardvereszközök vezérlésére tervezték. (tartományuk: 1-től 31-ig, és a 127)
A 127 = DEL = delete (rubout) törlés (kiradírozni)
Kivétel: A 32 = Space = Betűköz, azaz, szóköz. Nem látható, de a stringek közé tartozik.
String = Minden olyan billentyű leütése, mely egy szó vagy mondat leírásához szükséges, ide értendő a szóköz is.


Magyar ÁBC szerint.
PHP Tömb adatainak, ÁBC rendezése.

Ez egy szemléltető táblázat.
Itt, végig követhetjük a Magyar ÁBC rendezés menetét.
ÁBC rendezésnél: Elsők a nagybetűvel kezdődők , majd a kisbetűvel kezdődők.
Program leírását és eredményét, lentebb láthatjuk.

Eredeti
$szavak nevű tömb,
adatai.

Szavak
stringjeinek
értékei

String értékek
asort($szavak)
rendezése.

Tömb
ÁBC
rendezése.

<?php
$szavak[0] = 'Öv Szíj';
$szavak[1] = 'öv szíj';
$szavak[2] = 'Őrző Védő';
$szavak[3] = 'őrző védő';
$szavak[4] = 'Üveg Törött';
$szavak[5] = 'üveg törött';
$szavak[6] = 'Űz Tűz';
$szavak[7] = 'űz tüz';
$szavak[8] = 'Út Kátyú';
$szavak[9] = 'út kátyú';
$szavak[10] = 'Ír Gépel';
$szavak[11] = 'ír gépel';
$szavak[12] = 'Óval Írd';
$szavak[13] = 'óval írd';
$szavak[14] = 'Évek Idők';
$szavak[15] = 'évek idők';
$szavak[16] = 'Álom Vágy';
$szavak[17] = 'álom vágy';
$szavak[18] = 'Alom Fészek';
$szavak[19] = 'alom fészek';
$szavak[20] = 'Igaz Hamis';
$szavak[21] = 'igaz hamis';
$szavak[22] = 'igáz gáz';
$szavak[23] = 'igér bátor';
$szavak[24] = 'őrzi védi';
$szavak[25] = 'öröm károm';
$szavak[26] = 'örökre soha';
$szavak[27] = 'tömlő cső';
$szavak[28] = 'teve pupos';
$szavak[29] = 'ömlő áradó';
$szavak[30] = 'ööö ők';
$szavak[31] = 'Bátor Merész';
$szavak[32] = 'Fürész Balta';
$szavak[33] = 'Bába Szülész';
?>

0 = 84.136032089140117118
1 = 125.136032130140117118
2 = 85.129140126032095112110126
3 = 126.129140126032136112110126
4 = 93.136111114032090125129125131131
5 = 134.136111114032131125129125131131
6 = 94.140032090135140
7 = 135.140032131134140
8 = 92.131032078107131139133
9 = 133.131032119107131139133
10 = 76.129032073112127111120
11 = 117.129032114112127111120
12 = 83.136106120032076129110
13 = 124.136106120032117129110
14 = 71.136111119032075110126119
15 = 112.136111119032116110126119
16 = 66.120123121032095107114139
17 = 107.120123121032136107114139
18 = 65.120123121032072112130140111119
19 = 106.120123121032113112130140111119
20 = 75.114106140032074106121116130
21 = 116.114106140032115106121116130
22 = 116.114107140032114107140
23 = 116.114112129032108107131123129
24 = 126.129140116032136112110116
25 = 125.129125121032119107129123121
26 = 125.129125119129111032130123115106
27 = 131.125121120126032109130126
28 = 131.111136111032127132127123130
29 = 125.121120126032107129106110124
30 = 125.125125032126119
31 = 67.107131123129032080111129112130140
32 = 72.134129112130140032067106120131106
33 = 67.107108106032089140134120112130140

18 = 65.120123121032072112130140111119
16 = 66.120123121032095107114139
33 = 67.107108106032089140134120112130140
31 = 67.107131123129032080111129112130140
14 = 71.136111119032075110126119
32 = 72.134129112130140032067106120131106
20 = 75.114106140032074106121116130
10 = 76.129032073112127111120
12 = 83.136106120032076129110
0 = 84.136032089140117118
2 = 85.129140126032095112110126
8 = 92.131032078107131139133
4 = 93.136111114032090125129125131131
6 = 94.140032090135140
19 = 106.120123121032113112130140111119
17 = 107.120123121032136107114139
15 = 112.136111119032116110126119
21 = 116.114106140032115106121116130
22 = 116.114107140032114107140
23 = 116.114112129032108107131123129
11 = 117.129032114112127111120
13 = 124.136106120032117129110
29 = 125.121120126032107129106110124
30 = 125.125125032126119
26 = 125.129125119129111032130123115106
25 = 125.129125121032119107129123121
1 = 125.136032130140117118
24 = 126.129140116032136112110116
3 = 126.129140126032136112110126
28 = 131.111136111032127132127123130
27 = 131.125121120126032109130126
9 = 133.131032119107131139133
5 = 134.136111114032131125129125131131
7 = 135.140032131134140

0 = Alom Fészek
1 = Álom Vágy
2 = Bába Szülész
3 = Bátor Merész
4 = Évek Idők
5 = Fürész Balta
6 = Igaz Hamis
7 = Ír Gépel
8 = Óval Írd
9 = Öv Szíj
10 = Őrző Védő
11 = Út Kátyú
12 = Üveg Törött
13 = Űz Tűz
14 = alom fészek
15 = álom vágy
16 = évek idők
17 = igaz hamis
18 = igáz gáz
19 = igér bátor
20 = ír gépel
21 = óval írd
22 = ömlő áradó
23 = ööö ők
24 = örökre soha
25 = öröm károm
26 = öv szíj
27 = őrzi védi
28 = őrző védő
29 = teve pupos
30 = tömlő cső
31 = út kátyú
32 = üveg törött
33 = űz tüz



PHP fájl, azaz, program leírása.

<!DOCTYPE html>
<html lang="hu">
<head> 
<meta charset="UTF-8">
<title>Magyar, azaz, hu string ÁBC rendezés.</title>
<link href="xxxxxxxx.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<h1>Magyar, azaz, hu string ÁBC rendezés.</h1>
    <?php
         // Ide helyezzűk el, a saját tömbbünket.
         // Vagy, a fenti táblázatból másoljuk ki, a $szavak[] nevű tömböt, tartamával együtt, és illesszük be, ide!.
      ?>

<?php
 for($i=32; $i<127; $i++){ if($i<66){$hsid[$i]=$i;} if($i>65 AND $i<70){$lep=$i+1; $hsid[$i]=$lep;}
  if($i>69 AND $i<74){$lep=$i+2; $hsid[$i]=$lep;} if($i>73 AND $i<80){$lep=$i+3; $hsid[$i]=$lep;}
  if($i>79 AND $i<86){$lep=$i+6; $hsid[$i]=$lep;} if($i>85 AND $i<98){$lep=$i+9; $hsid[$i]=$lep;} 
  if($i>97 AND $i<102){$lep=$i+10; $hsid[$i]=$lep;} if($i>101 AND $i<106){$lep=$i+11; $hsid[$i]=$lep;}
  if($i>105 AND $i<112){$lep=$i+12; $hsid[$i]=$lep;} if($i>111 AND $i<118){$lep=$i+15; $hsid[$i]=$lep;}
  if($i>117 AND $i<127){$lep=$i+18; $hsid[$i]=$lep;}  }
  $hsid[129] = 66; $hsid[137] = 71; $hsid[141] = 76; $hsid[144] = 85; $hsid[145] = 126; $hsid[147] = 83;
  $hsid[150] = 84; $hsid[154] = 92; $hsid[156] = 93; $hsid[161] = 107; $hsid[169] = 112; $hsid[173] = 117;
  $hsid[176] = 94; $hsid[177] = 135; $hsid[179] = 124; $hsid[182] = 125; $hsid[186] = 133; $hsid[188] = 134;
$tombnev=$szavak;    // A "$szavak" helyett írjuk be, a saját tömbbünk nevét.
$szavakh=count($tombnev);
for($a=0; $a<$szavakh; $a++ )
{
	   $telem =$tombnev[$a];
	   $tdarab=str_split($telem); $xklanch=count($tdarab);
     for($i=0; $i<$xklanch; $i++) { $tbetu=$tdarab[$i]; $tchs=count_chars($tbetu,1);  $tevon=0; $thui='';
         foreach ($tchs as $id => $adat) { if($id!=195 AND $id!=197 AND $id!='') { $thui=$hsid[$id]; $tevon +=$thui; $sitok[$i]=$tevon; } }
      }
    // ----- Kapott értékek, kielemzése. ------------------------------
      $tjel='.';   $et=0;
       foreach ($sitok as $i => $ad) { $adh=strlen($ad); if($et>0 AND $adh<3){$elit[$et]= '0'.$ad;}  else $elit[$et]= $ad;  $et++; }
         $elith=count($elit);  for($i=0; $i<$elith; $i++) { if($i==0){ $velit[$i]=$elit[$i].''.$tjel; } if($i>0){ $velit[$i]=$elit[$i]; } }
         $veglegesfuzes=join($velit);  unset($velit);  unset($elit); $vegleges[$a]=$veglegesfuzes; unset($sitok);
}
         asort($vegleges);  $ji=0;  foreach ($vegleges as $id => $adat) {  $vsorrend[$ji]=$id;   $ji++;  }
?>
<!-- Tömb adatok, és azok ÁBC rendezésének, kiíratása. xxxxxxx  -->
<style>
.mintatabla{margin-right: auto; margin-left: auto;  border: 2px solid blue; background-color: white;}
.mintatabla th{font-size:16px; padding:5px; border: 2px solid black;}
.mintatabla td{font-size:16px; padding:5px; border: 1px solid black;}
</style>

<table class="mintatabla">
<tr> <th>Eredeti<br>tömb, adatai.</th> <th>Tömb<br>ÁBC rendezése.</th></tr>
<tr>
<td> <?php  foreach ($tombnev as $index => $adat) { echo '['.$index.'] = '.$adat.'<br>'; } ?> </td>
<td> <?php  foreach ($vsorrend as $id => $adat) { $vrendezes=$tombnev[$adat];  echo $id.' = '.$vrendezes.'<br>'; }   ?> </td>
</tr>
</table>

</div>
</body>
</html>

Fenti programunk eredménye.

Eredeti
tömb, adatai.
Tömb
ÁBC rendezése.
[0] = Öv Szíj
[1] = öv szíj
[2] = Őrző Védő
[3] = őrző védő
[4] = Üveg Törött
[5] = üveg törött
[6] = Űz Tűz
[7] = űz tüz
[8] = Út Kátyú
[9] = út kátyú
[10] = Ír Gépel
[11] = ír gépel
[12] = Óval Írd
[13] = óval írd
[14] = Évek Idők
[15] = évek idők
[16] = Álom Vágy
[17] = álom vágy
[18] = Alom Fészek
[19] = alom fészek
[20] = Igaz Hamis
[21] = igaz hamis
[22] = igáz gáz
[23] = igér bátor
[24] = őrzi védi
[25] = öröm károm
[26] = örökre soha
[27] = tömlő cső
[28] = teve pupos
[29] = ömlő áradó
[30] = ööö ők
[31] = Bátor Merész
[32] = Fürész Balta
[33] = Bába Szülész
0 = Alom Fészek
1 = Álom Vágy
2 = Bába Szülész
3 = Bátor Merész
4 = Évek Idők
5 = Fürész Balta
6 = Igaz Hamis
7 = Ír Gépel
8 = Óval Írd
9 = Öv Szíj
10 = Őrző Védő
11 = Út Kátyú
12 = Üveg Törött
13 = Űz Tűz
14 = alom fészek
15 = álom vágy
16 = évek idők
17 = igaz hamis
18 = igáz gáz
19 = igér bátor
20 = ír gépel
21 = óval írd
22 = ömlő áradó
23 = ööö ők
24 = örökre soha
25 = öröm károm
26 = öv szíj
27 = őrzi védi
28 = őrző védő
29 = teve pupos
30 = tömlő cső
31 = út kátyú
32 = üveg törött
33 = űz tüz