Dizgeleştirme

Numalandırmaların dizgeleştirmesi nesnelerden farklıdır. Özellikle, kendilerine özgü bir dizgeleştirme kodu olarak numaralandırma 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 numaralandırma 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 numaralandırmayı JSON'a dizgeleştirme bir hataya yol açar. Destekli bir numaralandırmayı 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, numaralandırma kılıfı çıktısı, karışıklığı azaltmak için nesnelerdekinden oldukça farklıdır.

<?php
enum Foo 
{
    case 
Bar;
}
enum Bazint {
    case 
Beep 5;
}
print_r(Foo::Bar);
print_r(Baz::Beep);
/* Çıktısı:
Foo Enum (
    [name] => Bar
)
Baz Enum:int {
    [name] => Beep
    [value] => 5
}
*/
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top