Ένα σύνηθες "πρόβλημα" είναι η ταξινόμηση ενός πίνακα. Εδώ παραθέτουμε πολλά παραδείγματα για διαφορετικούς τύπους πινάκων και δεδομένων. Υπάρχουν δύο πραδείγματα για Numerically Indexed πίνακες και για Sorting Associative πίνακες.
Αναλυτικότερα:
Sorting Numerically Indexed Arrays
Αρχικά θα δείξουμε έναν πίνακα που περιέχει strings. Το παρακάτω πρόγραμμα ταξινομεί τον πίνακα με αλφαβητική σειρά:
Αποτέλεσμα:
camomile
daisy
orchid
rose
tulip
Τώρα παίρνουμε έναν πίνακα που έχει διάφορες τιμές. Παρακάτω δείχνουμε πως ταξινομούμε τον συγκεκριμένο πίνακα.
Αποτέλεσμα:
0.50
0.75
1.00
1.15
1.25
Σημείωση: Η συνάρτηση sort λαμβάνει υπόψην αν είναι κεφαλαία τα γράμματα ή όχι. Συγκεκριμένα θεωρεί τα κεφαλαία γράμματα μικρότερα των μικρών. π.χ. Το "Α" είναι μικρότερο του "Ζ", αλλά το "Ζ" είναι μικρότερο του "a".
Αποτέλεσμα:
orchid costs 2.00 dollars
daisy costs 4.00 dollars
rose costs 5.00 dollars
Αν θέλουμε να ταξινομήσουμε τον πίνακα βάση του κλειδιού του τότε θα χρησιμοποήσουμε την συνάρτηση ksort(). Παρακάτω ο κώδικας:
Αποτέλεσμα:
daisy costs 4.00 dollars
orchid costs 2.00 dollars
rose costs 5.00 dollars
Αναλυτικότερα:
Sorting Numerically Indexed Arrays
Αρχικά θα δείξουμε έναν πίνακα που περιέχει strings. Το παρακάτω πρόγραμμα ταξινομεί τον πίνακα με αλφαβητική σειρά:
<?php
$flowers = array("rose", "daisy" , "orchid", "tulip", "camomile"); sort($flowers); for ($i=0; $i <= 4; $i++) //prints the array elements echo $flowers[$i]."<br \>"; ?> |
camomile
daisy
orchid
rose
tulip
Τώρα παίρνουμε έναν πίνακα που έχει διάφορες τιμές. Παρακάτω δείχνουμε πως ταξινομούμε τον συγκεκριμένο πίνακα.
<?php
$prices = array(1.25, 0.75 , 1.15, 1.00, 0.50); sort($prices); for ($i=0; $i <= 4; $i++) //prints the array elements echo $prices[$i]."<br \>"; ?> |
0.50
0.75
1.00
1.15
1.25
Σημείωση: Η συνάρτηση sort λαμβάνει υπόψην αν είναι κεφαλαία τα γράμματα ή όχι. Συγκεκριμένα θεωρεί τα κεφαλαία γράμματα μικρότερα των μικρών. π.χ. Το "Α" είναι μικρότερο του "Ζ", αλλά το "Ζ" είναι μικρότερο του "a".
Δεν μπορούμε να χρησιμοποιήσουμε την συνάρτηση sort() για associative πίνακα. Για να ταξινομήσουμε τον συγκεκριμένο πίνακα πρέπει να χρησιμοποιήσουμε την συνάρτηση asort() διότι κρατά μαζί το key με τις τιμές καθώς ταξινομήται ο πίνκας.
Η παρακάτω ταξινόμηση γίνεται στην ουσία στις τιμές και όχι στα keys.
<?php
$shop = array ( "rose" => "5.00", "daisy" => "4.00", "orchid" => "2.00", ); asort($shop); foreach($shop as $key => $value) echo $key." costs ".$value." dollars<br />"; //print the array elements ?> |
orchid costs 2.00 dollars
daisy costs 4.00 dollars
rose costs 5.00 dollars
Αν θέλουμε να ταξινομήσουμε τον πίνακα βάση του κλειδιού του τότε θα χρησιμοποήσουμε την συνάρτηση ksort(). Παρακάτω ο κώδικας:
<?php
$shop = array ( "rose" => "5.00", "daisy" => "4.00", "orchid" => "2.00", ); ksort($shop); foreach($shop as $key => $value) echo $key." costs ".$value." dollars<br />"; //print the array elements ?> |
daisy costs 4.00 dollars
orchid costs 2.00 dollars
rose costs 5.00 dollars
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου