Létrehozunk egy tömböt, és feltőltjük adatokkal. Lekérdezzük a tömb adatait, tömb hosszát, azaz, a tömbben lévő elemek, számát. <?php $metomb[0] = "$4,000.00"; $metomb[1] = "$5,000.00"; $metomb[2] = "$7,000.00"; $metomb[3] = "$22,000.00"; $metomb[4] = "$3,500.00"; $metomb[5] = "$4,500.00"; $metomb[6] = "$7,500.00"; $metomb[7] = "$7,000.00"; $metomb[8] = "$6,250.00"; $metomb[9] = "$9,700.00"; foreach($metomb as $index => $adat ) { echo 'metomb['.$index.'] = '.$adat.'<br>'; } $tombhossza=count($metomb); echo '<br>Tömb elemeinek száma = '.$tombhossza.'<br>'; ?> |
Programunk eredménye. metomb[0] = $4,000.00 metomb[1] = $5,000.00 metomb[2] = $7,000.00 metomb[3] = $22,000.00 metomb[4] = $3,500.00 metomb[5] = $4,500.00 metomb[6] = $7,500.00 metomb[7] = $7,000.00 metomb[8] = $6,250.00 metomb[9] = $9,700.00 Tömb elemeinek száma = 10 |
Ha, most akarjuk ABC szerint rendezni, és MAX - MIN, értéket lekérdezni, hibás eredményeket kapunk.
Hiba oka: Tömbelemek adatai, betűt és számot is, tartalmaznak.
Programunk.<?php // ABC rendezés, eredeti indexek megtartásával. asort($metomb); foreach($metomb as $index => $adat ) { echo $index.' = '.$adat.'<br>'; } ?> |
Programunk eredménye. ABC rendezés, hibás. $metomb[3] = $22,000.00 $metomb[4] = $3,500.00 $metomb[0] = $4,000.00 $metomb[5] = $4,500.00 $metomb[1] = $5,000.00 $metomb[8] = $6,250.00 $metomb[7] = $7,000.00 $metomb[2] = $7,000.00 $metomb[6] = $7,500.00 $metomb[9] = $9,700.00 |
MAX programunk.<?php echo max($metomb); ?> |
MAX eredmény, hibás. $9,700.00 |
MIN programunk.<?php echo min($metomb); ?> |
MIN eredmény, hibás. $22,000.00 |
Rendezés kiíratása, metomb[0] = $4,000.00 metomb[5] = $4,500.00 metomb[1] = $5,000.00 metomb[8] = $6,250.00 metomb[2] = $7,000.00 metomb[7] = $7,000.00 metomb[6] = $7,500.00 metomb[9] = $9,700.00 metomb[3] = $22,000.00 MAX értékű elem, adata = $22,000.00 MIN értékű elem, adata = $3,500.00 |
Megjegyzés:
Ilyen és ezekhez hasonló adatokat kapunk, csv fájlok lekérdezésekor is.
file.csv = Microsoft Excel vesszővel tagolt fájl, a testvér adatokat, külon sorokban tárolja.
<?php $metomb[0] = "$4,000.00"; $metomb[1] = "$5,000.00"; $metomb[2] = "$7,000.00"; $metomb[3] = "$22,000.00"; $metomb[4] = "$3,500.00"; $metomb[5] = "$4,500.00"; $metomb[6] = "$7,500.00"; $metomb[7] = "$7,000.00"; $metomb[8] = "$6,250.00"; $metomb[9] = "$9,700.00"; $tombhossza=count($metomb); echo '<br>Tömb elemeinek száma = '.$tombhossza.'<br>'; for($i=0; $i<$tombhossza; $i++) { $tea=$metomb[$i]; $teadarabolva = str_split($tea); // Darabolt adatokat, tömbbe íratjuk. // Számok és betűk válogatása. // Csak a számokat gyűjtjük ki, $tombszamok nevű tömbbe. $cssz=''; foreach($teadarabolva as $index => $te ) { if($te=='0' OR $te==1 OR $te==2 OR $te==3 OR $te==4 OR $te==5 OR $te==6 OR $te==7 OR $te==8 OR $te==9) { $cssz=$cssz.''.$te; $tombszamok[$i]=$cssz; } } } // Kiválogattuk a számokat, és a "$tombszamok" nevű tömbbe írattuk. // A "$tombszamok" nevű tömbböt rendezzük "ABC" sorrenbe, eredeti indexek megtartásával. // A "$tombszamok" nevű tömbelemek indexe megegyezik, // az eredeti "$metomb" elemeinek index számaival. // További részekből, csak azt írassuk ki, melyre szükségünk van. // Vagy, tíltsuk le azt a program részt, melyre nincs szükségünk, // --- MAX és MIN meghatározáshoz nem kell, az ABC rendezés. ------------ asort($tombszamok); // Rendezés, növekvő ABC sorrendbe, eredeti index megtartásával. echo'<p>Rendezés kiíratása,<br> növekvő ABC sorrendbe.</p>'; foreach($tombszamok as $index => $adat ) { $meadat=$metomb[$index]; echo 'metomb['.$index.'] = '.$meadat.'<br>'; } // --- ABC rendezésnek, vége. --------------------------------------------------- // A "$tombszamok" nevű tömbből, MAX és MIN értékének meghatározása. $tomb_maxertek = max($tombszamok); $tomb_minertek = min($tombszamok); // MAX értékű elem és MIN értékű elem, indexének meghatározása. foreach($tombszamok as $index => $teszama) { if($tomb_maxertek==$teszama) { $max_index=$index; } if($tomb_minertek==$teszama) { $min_index=$index; } } // MAX - MIN indexekkel, eredeti adatok lekérdezése. echo'<br><br>'; echo 'MAX értékű elem, adata = '.$metomb[$max_index].'<br><br>'; echo 'MIN értékű elem, adata = '.$metomb[$min_index].'<br>'; echo '<br><br>'; ?>