Sayılamaların dizgeleştirmesi nesnelerden farklıdır. Özellikle, kendilerine özgü bir dizgeleştirme kodu olarak sayılama kılıfı ismini belirten "E"
koduna sahiptir. Nesneleştirme sırasında kod bunu mevcut tekil değeri bir değişkene atamakta kullanır. Sonuçta aşağıdaki gibi bir durumun gerçeklenmesi sağlanır:
<?php
Deste::Kupalar === unserialize(serialize(Deste::Kupalar));
print serialize(Deste::Kupalar);
// E:14:"Deste::Kupalar";
?>
Nesneleştirme sırasında bir sayılama ve kılıfın eşleşeceği dizgeleştirilmiş bir değer yoksa bir uyarı çıktılayıp false
döndürülür.
Desteksiz bir sayılamayı JSON'a dizgeleştirme bir hataya yol açar. Destekli bir sayılamayı JSON'a dizgeleştirme ise uygun türdeki sayıl değeri ile gösterilir. Her iki davranış JsonSerializable gerçeklenerek geçersiz kılınabilir.
print_r() için, sayılama kılıfı çıktısı, karışıklığı azaltmak için nesnelerdekinden oldukça farklıdır.
<?php
enum Foo {
case Bar;
}
enum Baz: int {
case Beep = 5;
}
print_r(Foo::Bar);
print_r(Baz::Beep);
?>