PHP Angol + Magyar ékezetes, 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.


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

Ez egy szemléltető táblázat.
Itt, végig követhetjük az Angol és Magyar ÁBC rendezés menetét.
ÁBC rendezésnél, PHP az Angol stringekre építkezik, melyeket kiegészítettünk Magyar ékezetes karakterekkel.
Ezért a sorrendnél, elsők a kezdő ékezet nélküliek, majd a kezdő ékezetesek.
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 = 145.118032083122173106
1 = 177.118032115122173106
2 = 147.114122179032086169100179
3 = 179.114122179032118169100179
4 = 154.118101103032084177114177116116
5 = 186.118101103032116177114177116116
6 = 156.122032084188122
7 = 188.122032116186122
8 = 150.116032075161116121182
9 = 182.116032107161116121182
10 = 141.114032071169112101108
11 = 173.114032103169112101108
12 = 144.118097108032141114100
13 = 176.118097108032173114100
14 = 137.118101107032073100179107
15 = 169.118101107032105100179107
16 = 129.108111109032086161103121
17 = 161.108111109032118161103121
18 = 65.108111109032070169115122101107
19 = 97.108111109032102169115122101107
20 = 73.103097122032072097109105115
21 = 105.103097122032104097109105115
22 = 105.103161122032103161122
23 = 105.103169114032098161116111114
24 = 179.114122105032118169100105
25 = 177.114177109032107161114111109
26 = 177.114177107114101032115111104097
27 = 116.177109108179032099115179
28 = 116.101118101032112117112111115
29 = 177.109108179032161114097100176
30 = 177.177177032179107
31 = 66.161116111114032077101114169115122
32 = 70.186114169115122032066097108116097
33 = 66.161098097032083122186108169115122

18 = 65.108111109032070169115122101107
33 = 66.161098097032083122186108169115122
31 = 66.161116111114032077101114169115122
32 = 70.186114169115122032066097108116097
20 = 73.103097122032072097109105115
19 = 97.108111109032102169115122101107
21 = 105.103097122032104097109105115
22 = 105.103161122032103161122
23 = 105.103169114032098161116111114
28 = 116.101118101032112117112111115
27 = 116.177109108179032099115179
16 = 129.108111109032086161103121
14 = 137.118101107032073100179107
10 = 141.114032071169112101108
12 = 144.118097108032141114100
0 = 145.118032083122173106
2 = 147.114122179032086169100179
8 = 150.116032075161116121182
4 = 154.118101103032084177114177116116
6 = 156.122032084188122
17 = 161.108111109032118161103121
15 = 169.118101107032105100179107
11 = 173.114032103169112101108
13 = 176.118097108032173114100
29 = 177.109108179032161114097100176
26 = 177.114177107114101032115111104097
25 = 177.114177109032107161114111109
1 = 177.118032115122173106
30 = 177.177177032179107
24 = 179.114122105032118169100105
3 = 179.114122179032118169100179
9 = 182.116032107161116121182
5 = 186.118101103032116177114177116116
7 = 188.122032116186122

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


Program leírása.

<!DOCTYPE html>
<html lang="hu">
<head> 
<meta charset="UTF-8">
<title>Angol és Magyar, azaz, hu string ÁBC rendezés.</title>
<link href="xxxxxxxx.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Angol és 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
$n=0; for($i=32; $i<100; $i++){ $hubid[$i] = $n.''.$i; }  for($i=100; $i<127; $i++){ $hubid[$i] = $i; }
$hubid[129] = 129; $hubid[137] = 137; $hubid[141] = 141; $hubid[144] = 147; $hubid[145] = 179; $hubid[147] = 144; 
$hubid[150] = 145; $hubid[154] = 150; $hubid[156] = 154; $hubid[161] = 161; $hubid[169] = 169; $hubid[173] = 173; 
$hubid[176] = 156; $hubid[177] = 188; $hubid[179] = 176; $hubid[182] = 177; $hubid[186] = 182; $hubid[188] = 186;
$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=$hubid[$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>

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