Uppräkningar: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 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. <nowiki> <?php enum Suit { case Hearts; case Diamonds; case Clubs; case Spades; } function do_stuff(Suit $s) { // ... } do_stuff(Suit::Spades); ?> </nowiki> För en fullständig di...')
 
Rad 5: Rad 5:
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.
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.


<nowiki>
<CODE>
<?php
<?php
enum Suit
enum Suit
Rad 22: Rad 22:
do_stuff(Suit::Spades);
do_stuff(Suit::Spades);
?>
?>
</nowiki>
</CODE>
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.48

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.

<?php enum Suit {

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

}

function do_stuff(Suit $s) {

   // ...

}

do_stuff(Suit::Spades); ?> 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.