Οι πίνακες στην PHP είναι λειτουργικοί κάτοχοι δεδομένων στους οποίους μπορούμε να αποθηκεύσουμε ένα ή περισσότερα δεδομένα. Σε αντίθεση με τις μεταβλητές, μπορούν να κρατήσουν πολλά δεδομένα χωριστά η μία από την άλλη.
Οι πίνακες στην PHP δημιουργούνται με δύο τρόπους:
- προκαθορισμένη συνάρτηση array() (προκαθορισμένη συνάρτηση)
- [] με αγκύλες
Κανόνες δημιουργίας πίνακα PHP
- Γράμματα, αριθμοί (a-z A-Z 0-9) και _ (υπογράμμιση) μπορούν να χρησιμοποιηθούν σε ονόματα κλειδιών που θα καθοριστούν για στοιχεία πίνακα.
- Οι λέξεις που δεσμεύονται από την PHP δεν μπορούν να χρησιμοποιηθούν κατά τον ορισμό ονομάτων κλειδιών για στοιχεία πίνακα.
- Τα ονόματα κλειδιών που ορίζονται για στοιχεία πίνακα έχουν διάκριση πεζών-κεφαλαίων.
- Εάν ένα κλειδί δεν έχει οριστεί για ένα στοιχείο πίνακα, το κλειδί δημιουργείται αυτόματα.
- => οι χαρακτήρες πρέπει να τοποθετούνται μεταξύ κάθε κλειδιού και τιμής στον πίνακα.
- Εάν θα δημιουργηθούν περισσότερα από ένα στοιχεία στον πίνακα, το , (κόμμα) θα πρέπει να τοποθετηθεί μετά από κάθε στοιχείο.
Είναι προαιρετικό να βάλετε , (κόμμα) στο τέλος του τελευταίου στοιχείου σε έναν πίνακα με πολλά στοιχεία.
Προτάσεις και συμβουλές για τη δημιουργία πίνακα PHP
- Κατά την ονομασία τηλεοπτικών σειρών, θα πρέπει να λαμβάνονται υπόψη οι επιλεγμένοι κανόνες της σύμβασης ονομασίας. Για παράδειγμα, η ονομασία ενός πίνακα ως $Array και η κλήση του άλλου πίνακα ως $array δεν συνιστάται για αναγνωσιμότητα.
- Εάν δεν ορίσουμε κλειδιά στα στοιχεία στους πίνακες, αλλά μόνο τιμές, τα κλειδιά δημιουργούνται αυτόματα από την PHP. Το πρώτο κλειδί είναι 0 και κάθε πλήκτρο αυξάνεται κατά 1.
- Η συνάρτηση print_r() της HTML, την οποία χρησιμοποιούμε για την εκτύπωση πινάκων
Μπορούμε να διασφαλίσουμε ότι οι πίνακες θα εκτυπωθούν με καλύτερη εμφάνιση, περικλείοντάς τους σε ετικέτες < pre>. - Η προσθήκη ή η προσθήκη κόμματος στο τελευταίο στοιχείο σε πίνακες δεν αλλάζει τίποτα. Ωστόσο, συνιστάται η προσθήκη κόμματος στο τελευταίο στοιχείο για την αποφυγή σφαλμάτων που οφείλονται σε αποχή και για να αυξηθεί η αναγνωσιμότητα.
- Δεν είναι απαραίτητο να προσθέσετε μόνο μεταβλητές ή απευθείας δεδομένα ως τιμές σε πίνακες. Μπορεί να εκχωρηθεί μια σταθερά ή μια συνάρτηση.
- Δεν συνιστάται η χρήση ειδικών χαρακτήρων και τουρκικών χαρακτήρων εκτός από utf8, παύλες και κάτω παύλες σε δομές κλειδιών σε πίνακες.
Σύνταξη πίνακα PHP
Αναφέραμε ότι οι πίνακες μπορούν να δημιουργηθούν με δύο διαφορετικούς τρόπους στην PHP. Στην πρώτη μέθοδο, θα χρησιμοποιήσουμε την προεπιλεγμένη συνάρτηση που ονομάζεται array(). Προσθέσαμε το παράδειγμα παρακάτω.
$friends = array('can', 'sevgi');Μια άλλη μέθοδος για τη δημιουργία πινάκων στην PHP είναι η χρήση αγκύλων. Μπορείτε να βρείτε το παράδειγμα παρακάτω.
$friends = ['cemil', 'seda'];Έχουμε δει τη δομή πίνακα χωρίς κλειδί στην PHP να περιέχει μόνο τιμές στα παραπάνω παραδείγματα. Τώρα θα δούμε τη δομή του πίνακα με κλειδί. Ας εξετάσουμε το παράδειγμα.
'best_friend' => 'cemil',
'school_friend' => 'seda',
'home_friend' => 'mehmet',
);Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τον τελεστή => κατά την εκχώρηση τιμών. Όταν εκχωρούμε τιμές σε πίνακες, χρησιμοποιούμε τον τελεστή εκχώρησης πίνακα '=>', όχι τον τελεστή εξισορρόπησης '='.
Στο παρακάτω παράδειγμα, θα δούμε τη δομή πολυδιάστατου πίνακα PHP. Όταν δημιουργούμε πολλαπλούς πίνακες, ορίζουμε τον δεύτερο πίνακα στο τμήμα τιμών του πρώτου πίνακα.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);Εκτύπωση PHP Arrays
Εκτύπωση πινάκων με print_r()
Χρησιμοποιούμε τη συνάρτηση print_r() για να εκτυπώσουμε πίνακες στην PHP. Στο παρακάτω παράδειγμα, δημιουργήσαμε έναν πίνακα με το όνομα $fruits και δώσαμε τις τιμές του καρπουζιού, της μπανάνας και του σταφυλιού. Στη συνέχεια εκτυπώσαμε τον πίνακα χρησιμοποιώντας τη συνάρτηση print_r().
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
print_r($fruits);
/*
* Çıktı:
Array ( [0] => karpuz [1] => üzüm [2] => muz )
*/Στο παρακάτω παράδειγμα, εκτυπώσαμε τον πίνακα που δημιουργήσαμε στο προηγούμενο παράδειγμα σε πιο ευανάγνωστη μορφή χρησιμοποιώντας ετικέτες HTML < pre>.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo '<pre>';
print_r($fruits);
echo '</pre>';
/*
* Çıktı:
Array
(
[0] => karpuz
[1] => üzüm
[2] => muz
)
*/Μπορούμε να έχουμε πρόσβαση στα δεδομένα πολλών πινάκων με τη συνάρτηση print_r().
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
print_r($friends);
// Çıktı: Array ( [best_friends] => Array ( [0] => melih [1] => deniz ) [school_friends] => Array ( [0] => eda [1] => erdinç ) )Εάν χρησιμοποιούμε προ-ετικέτες HTML κατά την πρόσβαση στα δεδομένα πολλών πινάκων με τη συνάρτηση print_r(), θα έχουμε έξοδο σε μια πιο ευανάγνωστη δομή.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
echo '<pre>';
print_r($friends);
echo '</pre>';
/*
* Çıktı:
Array
(
[best_friends] => Array
(
[0] => melih
[1] => deniz
)
[school_friends] => Array
(
[0] => eda
[1] => erdinç
)
)
*/Εκτύπωση συστοιχιών με ηχώ
Στο παρακάτω παράδειγμα, προσπαθήσαμε να εκτυπώσουμε τον πίνακα που δημιουργήσαμε στο προηγούμενο παράδειγμα με echo, αλλά δεν μπορέσαμε να τον εκτυπώσουμε. Λάβαμε την έξοδο Array ως έξοδο. Γιατί λοιπόν;
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo $fruits;
// Çıktı: ArrayΔεν μπορούμε να εκτυπώσουμε ολόκληρους πίνακες με σχηματισμό ηχούς PHP. Η PHP έχει print_r() για να εκτυπώνει ολόκληρους πίνακες. Ωστόσο, αν θέλουμε να εκτυπώσουμε μόνο ένα στοιχείο του πίνακα, μπορούμε να χρησιμοποιήσουμε το echo. Στο παρακάτω παράδειγμα, αποκτήσαμε πρόσβαση στο πρώτο κλειδί του πίνακα. Στην ενότητα προτάσεων και συμβουλών παραπάνω, αναφέραμε ότι εάν δεν δημιουργήσουμε ένα κλειδί κατά τη δημιουργία ενός πίνακα, αυτό θα δημιουργηθεί αυτόματα. Η PHP δημιούργησε αυτόματα τα κλειδιά ξεκινώντας από το 0 και αποκτήσαμε πρόσβαση στα δεδομένα του 1ου κλειδιού. Πήραμε "σταφύλια" ως έξοδο.
$fruits = array(
'karpuz',
'üzüm',
'muz',
);
echo $fruits[1];
// Çıktı: üzümΈτσι, εάν δημιουργήσουμε ένα κλειδί, πώς θα έχουμε πρόσβαση στα δεδομένα του κλειδιού με ηχώ; Στο παρακάτω παράδειγμα, δημιουργήσαμε ένα κλειδί και αποκτήσαμε πρόσβαση στα δεδομένα κλειδιού πληκτρολογώντας το όνομα του κλειδιού με ηχώ.
$fruits = array(
'fruit1' => 'karpuz',
'fruit2' => 'üzüm',
'fruit3' => 'muz',
);
echo $fruits['fruit3'];
// Çıktı: muzΓια πρόσβαση στα δεδομένα πολλών πινάκων, δημιουργούμε τη δεύτερη αγκύλη. Ας εξετάσουμε το παρακάτω παράδειγμα. Σε αυτό το παράδειγμα χρησιμοποιήσαμε τη δομή πολλαπλών πινάκων. Πρώτα, αποκτήσαμε πρόσβαση στον πίνακα school_friends στον πίνακα φίλων και, στη συνέχεια, αποκτήσαμε πρόσβαση στα δεδομένα του 1ου κλειδιού στον πίνακα school_friends.
$friends = array(
'best_friends' => array(
'melih',
'deniz',
),
'school_friends' => array(
'eda',
'erdinç',
),
);
echo $friends['school_friends'][1];
// Çıktı: erdinç


