Uppräkningar: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Rad 22: Rad 22:
</source>
</source>


För en fullständig diskussion, se kapitlet om Uppräkningstyper.
För en fullständig diskussion, se kapitlet om [[Uppräkningstyper]].


=== Typomvandling ===
=== Typomvandling ===
Om en uppräkningstyp omvandlas till ett objekt, modifieras den inte. Om en uppräkningstyp omvandlas till en array, skapas en array med en enda nyckel för namn (för rena uppräkningstyper) eller en array med både namn- och värdenycklar (för stödda uppräkningstyper). Alla andra typer av typomvandlingar kommer att resultera i ett fel.
Om en uppräkningstyp omvandlas till ett objekt, modifieras den inte. Om en uppräkningstyp omvandlas till en array, skapas en array med en enda nyckel för namn (för rena uppräkningstyper) eller en array med både namn- och värdenycklar (för stödda uppräkningstyper). Alla andra typer av typomvandlingar kommer att resultera i ett fel.

Versionen från 13 augusti 2024 kl. 05.49

Uppräkningstyper

(PHP 8 >= 8.1.0)

Grundläggande Uppräkningstyper

Uppräkningstyper är ett begränsande lager ovanpå klasser och klasskonstanter, avsett att tillhandahålla ett sätt att definiera en sluten uppsättning av möjliga värden för en typ.

<source lang="php"> enum Suit {

   case Hearts;
   case Diamonds;
   case Clubs;
   case Spades;

}

function do_stuff(Suit $s) {

   // ...

}

do_stuff(Suit::Spades); </source>

För en fullständig diskussion, se kapitlet om Uppräkningstyper.

Typomvandling

Om en uppräkningstyp omvandlas till ett objekt, modifieras den inte. Om en uppräkningstyp omvandlas till en array, skapas en array med en enda nyckel för namn (för rena uppräkningstyper) eller en array med både namn- och värdenycklar (för stödda uppräkningstyper). Alla andra typer av typomvandlingar kommer att resultera i ett fel.