PHP, davranışsal alt tür ilişkileri ile güçlendirilmiş sembolik bir tür sistemi kullanır. Alt türlerle ilişkiler derleme sırasında sınanırken türlerin doğrulanması çalışma anında dinamik olarak gerçekleştirilir.
PHP'nin tür sistemi, daha karmaşık türler oluşturmak için bir araya getirilebilecek çeşitli temel türleri destekler. Bu türlerden bazıları tür bildirimleri olarak yazılabilir.
Bazı temel türler, dille sıkı bir şekilde bütünleşmiş yerleşik türler olup kullanıcı tanımlı türlerle yeniden türetilemez.
Temel türler:
    Özel türleri arayüzler,
    sınıflar ve
    sayılamalar ile
    tanımlamak mümkündür. Bunlar kullanıcı tanımlı türler veya sınıf türleri
    olarak kabul edilir. Örneğin, Fil adında bir sınıf
    tanımlanabilir, ardından Fil türündeki nesneler
    örneklenebilir ve bir işlev Fil türünde bir bağımsız
    değişken isteyebilir.
   
Temel türleri birleşik türler halinde birleştirmek mümkündür. PHP, türlerin aşağıdaki şekillerde birleştirilmesine izin verir:
    Tür kesişiminde, tek bir sınıf yerine birden çok sınıf türü bildirimine
    karşılık gelen değerler kabul edilir. Kesişimi oluşturan tekil
    türler & simgesi ile birleştirilir. Örneğin, T,
    U ve V türlerinden oluşan bir
    tür kesişimi T&U&V biçeminde yazılır.
   
    Bileşik tür (union), tek bir değer yerine birden fazla türde değer kabul eder.
    Bileşik türü oluşturan tekil türler | simgesi ile
    birleştirilir. Örneğin, T, U ve
    V türlerinden oluşan bir  bileşik tür
    T|U|V biçeminde yazılır.  Türlerden biri kesişim
    içeriyorsa, kesişimin yaylı ayraçlar arasına alınması gerekir:
    T|(X&Y).
   
