Forum und email

Τύποι

Table of Contents

Εισαγωγή

Η PHP υποστηρίζει οχτώ πρωταρχικούς τύπους.

Για βαθμωτούς τύπους:

  • boolean (δυαδικός)
  • integer (ακέραιοι)
  • float (αριθμοί κινητής υποδιαστολής, γνωστοί και ως 'double')
  • string
Δύο σύνθετους τύπους:
  • array (πίνακες)
  • object (αντικείμενα)
Και τέλος δυο ειδικούς τύπους: Αυτό το εγχειρίδιο επίσης σας εισάγει μερικούς pseudo-types (ψευδοτύπους) για λόγους αναγνωσιμότητας: Ίσως βρείτε και κάποιες αναφορές στο τύπο "double". Θεωρείστε το double όμοιο με τον τύπο float, και τα δυο ονόματα υπάρχουν μόνο για ιστορικούς λόγους.

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

Note: Αν θέλετε να ελένξετε τον τύπο και την τιμή μιας συγκεκριμένης έκφρασης, χρησιμοποιείστε την var_dump(). Αν θέλετε απλά μια αναπαράσταση του τύπου, που να μπορεί εύκολα να διαβαστεί για το debugging, χρησιμοποιείστε την gettype(). Για τον έλεγχο ενός συγκεκριμένο τύπου, μην χρησιμοποιείτε την gettype(), αλλά τις is_typeσυναρτήσεις. Μερικά παραδείγματα:

<?php
$bool 
TRUE;   // a boolean
$str  "foo";  // a string
$int  12;     // an integer

echo gettype($bool); // prints out "boolean"
echo gettype($str);  // prints out "string"

// If this is an integer, increment it by four
if (is_int($int)) {
    
$int += 4;
}

// If $bool is a string, print it out
// (does not print out anything)
if (is_string($bool)) {
    echo 
"String: $bool";
}
?>

Αν θέλετε να αναγκάσετε μια μεταβλητή να μετατραπεί σε έναν συγκεκριμένο τύπο, μπορείτε είτε να χρησιμοποιήσετε την cast στην μεταβλητή ή την settype() συνάρτηση πάνω της.

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