Διαχείριση πινάκων στην PHP

02 Αυγ 2011 | PHP

Δεν επιτρέπονται τα σχόλια.


Στο άρθρο Δημιουργία πινάκων στην PHP μάθατε τις βασικές λειτουργίες των πινάκων στην PHP, καθώς επίσης είδατε και πως να δημιουργείτε πίνακες στην PHP.  Σε αυτό το άρθρο θα δείτε πως να κάνετε περισσότερα πράγματα με τους πίνακες, όπως για παράδειγμα, πως να προσπελάσετε μεμονωμένα στοιχεία του πίνακα.

Ποιο συγκεκριμένα σε αυτό το άρθρο θα δούμε:

  • Πως να ανακτήσουμε τις τιμές των στοιχείων ενός πίνακα
  • Πως να αλλάξουμε τις τιμές ενός πίνακα
  • Πως να προσθέσουμε και να αφαιρέσουμε στοιχεία από ένα πίνακα
  • Πως να εξάγουμε όλα τα στοιχεία ενός πίνακα

Ανάγνωση στοιχείων του πίνακα

Για να προσπελάσετε το όνομα ενός στοιχείου σε ένα πίνακα, θα πρέπει να γράψετε το όνομα της μεταβλητής του πίνακα, και το δείκτη του στοιχείου μέσα σε αγκύλες.

$my_array[my_element_key]

Το ακόλουθο παράδειγμα θα ανακτήσει το τρίτο στοιχείο του πίνακα. Να θυμάστε πως οι πίνακες με αριθμητικούς δείκτες αρχίζουν από το 0.

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');

echo $music_groups[2];   // Αυτό θα εκτυπώσει Madrugada

Για τους πίνακες με σχέσεις η ανάκτηση είναι ακριβώς σχεδόν ίδια, με τη διαφορά που στους σχεσιακούς πίνακες χρησιμοποιείτε αλφαριθμητικά αντί για αριθμούς.

$song_info = array(
"title" => "Cry for love",
"band" => 'Iggy Pop',
"duration" => '03:31',
"type" => 'rock'
);

echo $song_info["band"];    // Αυτό θα εκτυπώσει Iggy Pop

Αλλαγή τιμής ενός στοιχείου

Η απόδοση τιμής σε ένα στοιχείο ενός πίνακα πραγματοποιείτε ακριβώς όπως και σε μια μεταβλητή της PHP.

$my_array[δείκτης] = νέα τιμή;

Το παράδειγμα που ακολουθεί θα αλλάξει την τρίτη τιμή του πίνακα, από Madrugada σε Gotan Project.

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');
$music_groups[2] = "Gotal Project";

Προσθήκη νέων στοιχείων

Μπορείτε να προσθέσετε σε ένα πίνακα νέα στοιχεία με τον ακόλουθο τρόπο:

$my_array[] = "νέα τιμή";

Η PHP από τη μεριά της θα δημιουργήσει αυτόματα τον επόμενο διαθέσιμο δείκτη και θα τον αναθέσει την νέα τιμή που προσθέσαμε στον πίνακα. Δείτε ένα παράδειγμα:

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');
$music_groups[] = 'Bob Marley';
echo $music_groups[4];    // Θα εκτυπώσει Bob Marley

Επίσης αν θέλετε, μπορείτε να καθορίσετε από μόνοι σας το όνομα του δείκτη. Στην περίπτωση που υπάρχει ήδη ένα στοιχείο στον πίνακα με το ίδιο κλειδί, η προηγούμενη τιμή θα αντικατασταθεί με τη νέα. Αν δεν υπάρχει στοιχείο με τον ίδιο δείκτη τότε θα δημιουργηθεί ένα νέο στοιχείο στον πίνακα.

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');
$music_groups[4] = 'Bob Marley';
echo $music_groups[4];    // Θα εκτυπώσει Bob Marley

$music_groups[2] = 'Carlos Santana';    // Θα αντικαταστήσει του Pink Floys

echo $music_groups[2];    // Θα εκτυπώσει Carlos Santana

Διαγραφή στοιχείων από ένα πίνακα

Για να διαγράψετε ένα στοιχείο από ένα πίνακα θα πρέπει να χρησιμοποιήσετε την συνάρτηση unset() της PHP, δίνοντας της το στοιχείο του πίνακα που θέλετε να διαγράψετε. Ακολουθεί ένα παράδειγμα:

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');
echo $music_groups[2];    // Θα εκτυπώσει Madrugada

unset($music_groups[2]);

echo $music_groups[2];    // Δεν θα εκτυπώσει τίποτα, και παράλληλα θα δημιουργήσει και μια προειδοποίηση.
Η τελευταία γραμμή του κώδικα θα δημιουργήσει μια προειδοποίηση για μη ορισμένο δείκτη (Undefined offset)  το οποίο είναι ένα μικρό σφάλμα. Η προειδοποίηση αυτή σημαίνει πως προσπαθείτε να προσπελάσετε ένα δείκτη του πίνακα ο οποίος δεν υπάρχει. Στην πραγματικότητα η PHP δεν εμφανίζει τα σφάλματα ούτε και τα καταγράφει, αλλά αν θέλετε μπορείτε να αλλάξετε αυτή την ιδιότητα της PHP με την συνάρτηση error_reposrting().

Η συνάρτηση unset() δεν συμπληρώνει αυτόματα το κενό μεταξύ των δεικτών στην αρίθμηση ενός πίνακα μετά τη διαγραφή ενός στοιχείου. Για παράδειγμα, στον παραπάνω κώδικα, μετά τη διαγραφή των Madrugada οι Pink Floyd εξακολουθούν να έχουν τον δείκτη 1 και οι Radiohead τον δείκτη 3. Για να δημιουργήσετε ξανά του δείκτες και να καλύψετε το κενό που δημιουργήθηκε από μια διαγραφή μπορείτε να χρησιμοποιήσετε τη συνάρτηση array_values().

Εξαγωγή των δεδομένων ενός πίνακα με τη συνάρτηση print_r

Κατά την αποσφαλμάτωση του κώδικα σας, ορισμένες φορές είναι χρήσιμο να επιθεωρείτε τα στοιχεία ενός πίνακα. Ωστόσο η χρήση των print() και echo δεν βοηθούν και πάρα πολύ. Για παράδειγμα:

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');

echo $music_groups; // Θα εκτυπώσει array

Για να προβάλετε το περιεχόμενο ενός ολόκληρου πίνακα χρησιμοποιήστε τη συνάρτηση print_r. Ακολουθεί ένα παράδειγμα που θα εκτυπώσει ένα πίνακα με δείκτες και ένα πίνακα με αναφορές.

$music_groups = array('The Doors', 'Pink Floyd', 'Madrugada', 'Radiohead');
$song_info = array(
"title" => "Cry for love",
"band" => 'Iggy Pop',
"duration" => '03:31',
"type" => 'rock'
);

echo "<h2>Music Groups</h2><pre>";
print_r($music_groups);
echo "</pre><h2>Song info</h2><pre>";
print_r($song_info);
echo "</pre>";

Ο παραπάνω κώδικας θα εκτυπώσει το ακόλουθο αποτέλεσμα:

Music Groups
Array(
 [0] =>The Doors
 [1] => Pink Floyd
 [2] => Madrugada
 [3] => Radiohead
)

Song Info
Array(
 [title] => Cry for love
 [band] => Iggy Pop
 [duration] => 03:31
 [type] => rock
)
Για να πάρετε την έξοδο της συνάρτησης print_r() σε μορφή κειμένου, αντί για να την εκτυπώσετε στης σελίδα σας, δώστε της ένα δεύτερο όρισμα με την τιμή true.

Περίληψη

Σε αυτό το άρθρο είδαμε πως μπορούμε να διαχειριστούμε τα στοιχεία ενός πίνακα στην PHP. Ποιο συγκεκριμένα έχετε δει πως να:

  • Πραγματοποιείτε ανάγνωση και αλλαγή τιμής στα στοιχεία του πίνακα
  • Να προσθέτετε και να διαγράφετε στοιχεία από ένα πίνακα
  • Να προβάλετε όλο το περιεχόμενο ενός πίνακα
Σε επόμενα άρθρα θα σας δείξω πως να εργάζεστε με πολλαπλά στοιχεία ενός πίνακα ταυτόχρονα, πως να μετρήσετε τα στοιχεία ενός πίνακα, πως να πραγματοποιείτε βρόχους σε ένα πίνακα, και άλλα πολλά.

Περισσότερα για τον CorfuGmr

CorfuGmr

Ονομάζομαι Νίκος και ασχολούμαι με το internet και την κατασκευή ιστοσελίδων από το 1998. Σήμερα, μετά από 12 χρόνια γεμάτα με ενημέρωση, εκπαίδευση και εξάσκηση έχω ανεβάσει σε ένα άλλο επίπεδο τις γνώσεις μου και τις τεχνικές μου. Στα άρθρα μου προσπαθώ να σας δείξω τα μικρά, αλλά σημαντικά πράγματα που με έχουν ανεβάσει σε αυτό το επίπεδο.








Σχόλια



4 Αυγούστου 2011

[…] άρθρο Διαχείριση πινάκων στην PHP μάθατε πως να κάνετε ανάκτηση στοιχείων από ένα […]


Συγνώμη, τα σχόλια για αυτό το άρθρο είναι κλειστά.



^
Top
css.php