PHP là một ngôn ngữ được gõ động, giống như Ruby, Python hoặc JavaScript. Điều đó có nghĩa là một biến có thể chứa một giá trị thuộc bất kỳ kiểu nào. Loại biến không được biết cho đến khi chương trình thực sự thực thi
Cách tiếp cận thay thế cho đó là các ngôn ngữ được nhập tĩnh trong đó loại biến được xác định rõ ràng trong mã hoặc được trình biên dịch suy ra trước khi chương trình được thực thi. Bởi vì trong các ngôn ngữ được nhập tĩnh, loại của hầu hết các giá trị đã được biết, chúng có thể thực thi rằng chỉ các hoạt động tương thích mới được thực hiện trên các giá trị đó
Lấy chương trình Java này làm ví dụ
public class TypeDemo
{
public static void main [String[] args]
{
int i = 42;
String s = "derp";
if [i < s] {
System.out.println["42 is less than 'derp'."];
}
}
}
Phần quan trọng ở đây là
int i = 42;
String s = "derp";
if [i < s] {
System.out.println["42 is less than 'derp'."];
}
Trình biên dịch javac
sẽ phàn nàn khi chúng tôi cố gắng biên dịch cái này vì nó đã biết rằng
int i = 42;
String s = "derp";
if [i < s] {
System.out.println["42 is less than 'derp'."];
}
0 sẽ là một số nguyên và int i = 42;
String s = "derp";
if [i < s] {
System.out.println["42 is less than 'derp'."];
}
1 sẽ là một chuỗiTypeDemo.java:8: error: bad operand types for binary operator '