Πίνακας περιεχομένων:
- Οι περισσότερες άλλες γλώσσες απαιτούν την προετοιμασία της μεταβλητής πριν τη χρήση, καθορίζοντας τον τύπο δεδομένων που μπορεί να διατηρήσει, αλλά η PHP είναι πιο άτυπη. Δεν χρειάζεται να πείτε στο PHP ποιος τύπος δεδομένων βρίσκεται σε μια μεταβλητή. Η PHP αξιολογεί τα δεδομένα όταν τα εκχωρείτε στη μεταβλητή και στη συνέχεια τα αποθηκεύει ως τον κατάλληλο τύπο. Γενικά, αυτό είναι χρήσιμο. Η PHP υποθέτει τον τύπο δεδομένων αρκετά ακριβή.
- Σε μια σπάνια περίπτωση, η PHP μαντέψει άσχημα όταν αποθηκεύει τα δεδομένα. Μπορεί να χρειαστεί να κάνετε κάτι με μια μεταβλητή και η PHP δεν θα σας αφήσει επειδή τα δεδομένα είναι λάθος. Σε μια τέτοια περίπτωση, μπορείτε να καθορίσετε τον τρόπο με τον οποίο θέλετε να αποθηκεύει η PHP τα δεδομένα, αντί να αφήσετε την PHP να αποφασίσει για τον εαυτό της. Αυτό καλείται casting τύπου
Βίντεο: Μαθήματα C - Τύποι δεδομένων 2025
Οι μεταβλητές μπορούν να αποθηκεύουν δεδομένα διαφορετικών τύπων και διαφορετικοί τύποι δεδομένων μπορούν να κάνουν διαφορετικά πράγματα. Για παράδειγμα, μπορείτε να προσθέσετε μεταβλητές των οποίων οι τιμές είναι αριθμοί (1 + 2), αλλά προσθέτοντας μεταβλητές των οποίων οι τιμές είναι χαρακτήρες (a + b) δεν έχει νόημα.
Μπορείτε να αποθηκεύσετε τους ακόλουθους απλούς τύπους δεδομένων σε μεταβλητές PHP:
- Ακέραιος αριθμός: Ολόκληρος αριθμός (χωρίς κλάσματα), όπως -43, 0, 1, 27 ή 5438. Το εύρος ακεραίων που επιτρέπεται, ποικίλλει ανάλογα με το λειτουργικό σας σύστημα, αλλά γενικά μπορείτε συνήθως να χρησιμοποιήσετε οποιονδήποτε αριθμό από -2 δις μέχρι +2 δισεκατομμύρια.
- Αριθμός κυμαινόμενου σημείου: Ένας αριθμός (συνήθως όχι ένας ολόκληρος αριθμός) που περιλαμβάνει δεκαδικά ψηφία, όπως 5. 24 ή 123. 456789. Αυτός ονομάζεται συχνά < ή ένα πλωτήρα . Σύμβολο χαρακτήρων:
- Μια σειρά από μεμονωμένους χαρακτήρες, όπως γεια . Δεν υπάρχει πρακτικό όριο στο μήκος μιας συμβολοσειράς. Boolean:
- Αξία TRUE ή FALSE.
$ a> $ b , και το αποτέλεσμα είναι είτε TRUE είτε FALSE. Η PHP θεωρεί τις παρακάτω τιμές FALSE:
Η συμβολοσειρά FALSE (μπορεί να είναι κεφαλαία ή πεζά)
- Ο ακέραιος αριθμός 0
- Μια κενή συμβολοσειρά
- Η συμβολοσειρά ενός χαρακτήρα 0
- Η σταθερή NULL
- Οποιεσδήποτε άλλες τιμές σε μια Boolean μεταβλητή θεωρούνται TRUE. Εάν ανιχνεύσετε μια Boolean μεταβλητή, η τιμή FALSE εμφανίζεται ως κενή συμβολοσειρά. η τιμή TRUE αντηχεί ως 1. Οι λειτουργίες συχνά επιστρέφουν μια Boolean μεταβλητή που μπορείτε να ελέγξετε για να δείτε αν η λειτουργία επιτύχασε ή απέτυχε.
Αντιστοίχιση τύπων δεδομένων
Οι περισσότερες άλλες γλώσσες απαιτούν την προετοιμασία της μεταβλητής πριν τη χρήση, καθορίζοντας τον τύπο δεδομένων που μπορεί να διατηρήσει, αλλά η PHP είναι πιο άτυπη. Δεν χρειάζεται να πείτε στο PHP ποιος τύπος δεδομένων βρίσκεται σε μια μεταβλητή. Η PHP αξιολογεί τα δεδομένα όταν τα εκχωρείτε στη μεταβλητή και στη συνέχεια τα αποθηκεύει ως τον κατάλληλο τύπο. Γενικά, αυτό είναι χρήσιμο. Η PHP υποθέτει τον τύπο δεδομένων αρκετά ακριβή.
Η PHP μετατρέπει επίσης τα δεδομένα όταν χρειάζεται να μετατραπούν. Για παράδειγμα, αν έχετε τις ακόλουθες δηλώσεις, η PHP μετατρέπει τους τύπους δεδομένων χωρίς πρόβλημα:
$ firstNumber = 1; # PHP το αποθηκεύει ως ακέραιο
$ secondNumber = 1. 1; # PHP το αποθηκεύει ως float
$ sum = $ firstNumber + $ secondNumber;
Τεχνικά, η τρίτη δήλωση δεν είναι δυνατή επειδή τα δεδομένα που θα προστεθούν είναι διαφορετικοί τύποι. Ωστόσο, η PHP μετατρέπει τον ακέραιο σε έναν πλωτήρα, έτσι ώστε η προσθήκη να προχωρήσει ομαλά.Αυτό συμβαίνει αυτόματα και αόρατα και είναι πολύ χρήσιμο.
Τύπος χύτευσης
Σε μια σπάνια περίπτωση, η PHP μαντέψει άσχημα όταν αποθηκεύει τα δεδομένα. Μπορεί να χρειαστεί να κάνετε κάτι με μια μεταβλητή και η PHP δεν θα σας αφήσει επειδή τα δεδομένα είναι λάθος. Σε μια τέτοια περίπτωση, μπορείτε να καθορίσετε τον τρόπο με τον οποίο θέλετε να αποθηκεύει η PHP τα δεδομένα, αντί να αφήσετε την PHP να αποφασίσει για τον εαυτό της. Αυτό καλείται casting τύπου
. Για να καθορίσετε ένα συγκεκριμένο τύπο, χρησιμοποιήστε μια πρόταση όπως ένα από τα παρακάτω: $ newint = (int) $ var1;
$ newfloat = (float) $ var1;
$ newstring = (συμβολοσειρά) $ var1;
Η τιμή της μεταβλητής στη δεξιά πλευρά του σημείου ισότητας αποθηκεύεται στη μεταβλητή στην αριστερή πλευρά ως καθορισμένος τύπος. Έτσι, η τιμή στο
$ var1 αποθηκεύεται σε $ newint ως ακέραιο, όπως καθορίζεται από το (int) . Να είστε προσεκτικοί κατά τη διεξαγωγή εκμαγείων τύπου. Μερικές φορές μπορείτε να πάρετε απροσδόκητα αποτελέσματα. Για παράδειγμα, όταν μεταφέρετε έναν πλωτήρα σε έναν ακέραιο αριθμό, χάνει τα δεκαδικά ψηφία του. Για να το κάνετε αυτό, η PHP περιστρέφει το float προς το 0. Για παράδειγμα, αν
$ αριθμός = 1. 8 και το μεταφέρετε σε έναν ακέραιο αριθμό - $ newnumber = (int) $ newnumber θα είναι ίσο με 1. Μπορείτε να βρείτε τον τύπο δεδομένων μιας μεταβλητής χρησιμοποιώντας μια εντολή όπως η παρακάτω: var_dump ($ myvariable);
Για παράδειγμα, η παρακάτω δήλωση ελέγχει τον τύπο δεδομένων
$ checkvar
: var_dump ($ checkvar); Η έξοδος από αυτή τη δήλωση είναι
int (27), που σας λέει ότι $ checkvar περιέχει τον ακέραιο 27.