|
Tablice - część druga -
sortowanie danych
W części poprzedniej przedstawiłem najprostszą wersję tablicy. Teraz spróbujemy
posortować elementy tablicy.
Naszą tablicę utworzą tym razem cyfry 1,3,2,4,8,9,7,5,6 zwróć uwagę że
specjalnie ułożyłem je w przypadkowej kolejności. W przykładzie warto również
zwrócić uwagę na funkcję sizeof() to funkcja, która liczy elementy
tablicy. Do wyświetlenia elementów użyłem pętli for (jeśli liczba elementów
tablicy jest większa od zmiennej $i (na starcie 0)
wyświetlamy dane i zwiększamy wartość $i, czyli
jeżeli mamy 9 elementów
tablicy gdy $i osiągnie tą samą wartość (czyli
9) pętla przestanie się wykonywać).
Do przeglądania tablicy mamy jeszcze inne funkcje np: current(), next(), prev(),
each(), reset(), end() (funkcje umożliwiające sekwencyjny dostęp do danych)
ale o tym napiszę przy najbliższej okazji.
utwórz plik np: test.php3 i wklej poniższy kod
---------------------------------------------------------
<?php
$tablica=array(1,3,2,4,8,9,7,5,6);
//sortujemy od najmniejszej do największej
//wykorzystujemy funkcję sort()
echo"sortowanie od najmniejszej do największej:<br>";
$total = sizeof($tablica);
for($i=0; $total > $i; $i++){
sort($tablica);
echo"$tablica[$i]<br>";
}
//a teraz przesortujemy od największej do najmniejszej
//wykorzystujemy funkcję rsort()
echo"sortowanie od największej do najmniejszej:<br>";
for($i=0; $total > $i; $i++){
rsort($tablica);
echo"$tablica[$i]<br>";
}
?>
---------------------------------------------------------
Do sortowania tablic istnieją również inne funkcje, na razie (w przykładzie) skupiliśmy się na dwóch:
sort() - funkcja porządkująca od najmniejszej do największej
rsort() - funkcja porządkująca od największej do najmniejszej
W którejś z kolejnych porad opiszę również inne funkcje:
usort(), ksort(), uksort(), asort(), arsort(), uasort()
ale o tym w przyszłości, na razie skupmy się na najprostszych "uniwersalnych" przykładach (później wszystko będzie
dziecinnie proste).
Przykład przedstawiony powyżej pozwoli na zrozumienie podstawowych zasad sortowania.
Co do tematu tablic będę wdzięczny za sugestie na temat treści przyszłych części (Wy wiecie najlepiej jakich
informacji i rozwiązań poszukujecie, pozwoli to na skonkretyzowanie treści porad).
dodał: Rip
|