ΤYΠOI: Type JugglingΗ PHP δεν απαιτεί (ή υποστηρίζει) σαφή δήλωση τύπων κατά τη δήλωση μεταβλητών. Ένας τύπος μεταβλητής καθορίζεται από το περιεχόμενο με το οποίο αυτή η μεταβλητή θα χρησιμοποιηθεί. Δηλαδή, αν ορίσετε μια τιμή string σε μια μεταβλητή $var, η $var γίνεται string. Αν στη συνέχεια αναθέσετε μια integer τιμή στη $var, τότε γίνεται integer. Ένα παράδειγμα της αυτόματης μετατροπής τύπου στην PHP είναι ο τελεστής πρόσθεσης '+'. Αν οποιοσδήποτε από τα τελούμενα είναι float, τότε όλα υπολογίζονται ως floats, και το αποτέλεσμα θα είναι float. Διαφορετικά, τα τελούμενα θα ερμηνεύονται ως integers, και το αποτέλεσμα θα είναι επίσης integer. Σημειώστε ότι αυτό ΔΕΝ αλλάζει τους τύπους των ίδιων των τελούμενων. Η μόνη αλλαγή είναι στο πώς υπολογίζονται τα τελούμενα.
Αν τα τελευταία δυο παραδείγματα σας φάνηκαν περίεργα, δείτε το Μετατροπή του String σε number.
Αφού η PHP (για ιστορικούς λόγους) υποστηρίζει indexing σε strings μέσω offsets χρησιμοποιώντας την ίδια σύνταξη όπως και στο indexing των arrays, το παράδειγμα παραπάνω οδηγεί σε ένα πρόβλημα: θα πρέπει το $a να γίνει array με το πρώτο στοιχείο του να είναι το "f", ή θα πρέπει το "f" να γίνει ο πρώτος χαρακτήρας του string $a? Οι τρέχουσες εκδόσεις της PHP μεταγλωττίζουν τη δεύτερη ανάθεση ως string offset πιστοποίηση, συνεπώς η $a γίνεται "f", το αποτέλεσμα όμως αυτής της αυτόματης μετατροπής θα πρέπει να θεωρηθεί απροσδιόριστο. Η PHP 4 εισήγαγε τη νέα σύνταξη χρηιμοποιώντας curly bracket για να αποκτήσει πρόσβαση σε χαρακτήρες ενός string, συνεπώς χρησιμοποιήστε αυτή τη σύνταξη αντί αυτής που παρουσιάστηκε παραπάνω:
Δείτε το τμήμα με τίτλο Πρόσβαση των String με χαρακτήρες για περισσότερες πληροφορίες.
Type Casting
Τα επιτρεπόμενα casts είναι τα: Σημειώστε ότι τα tabs και τα spaces επιτρέπονται μέσα στις παρενθέσεις, συνεπώς τα ακόλουθα είναι εξίσου λειτουργικά:
Παρατήρηση: Αντί να κάνουμε cast μιας μεταβλητής σε string, μπορείτε επίσης να κλείσετε τη μεταβλητή σε διπλά εισαγωγικά.
|
Σήμερα είναι
Συμβαίνουν τώρα
Χρηστικά
- Αργίες
- Δείξε μου το δρόμο
- Radio Garden
- Online Radio Stations
- How Secure Is My Password?
- What is my IP?
- Test Speed 1
- Test Speed 2
- Φαρμακεία