2024 日本 PHP 研討會

列舉常數

列舉可以包含常數,這些常數可以是公開、私有或受保護的,但在實務上,由於不允許繼承,因此私有和受保護的常數是等效的。

列舉常數可以參考列舉成員

<?php

enum Size
{
case
Small;
case
Medium;
case
Large;

public const
Huge = self::Large;
}
?>
新增筆記

使用者貢獻的筆記 1 則筆記

Hayley Watson
1 年前
需要說明的是,列舉常數*可以*包含案例,但它們並*非必須*包含案例;其他常數值也是合法的,包括其他列舉的案例。

<?php
enum Suit
{
case
Hearts;
case
Clubs;
case
Spades;
case
Diamonds;

public const
Card = Size::Large; // 來自不同列舉的案例
}

enum
Size
{
case
Small;
case
Medium;
case
Large;

public const
Scale = 297/210; // 浮點數
}

echo
Suit::Diamonds::Card::Scale; // 從 Suit 中的常數 Card 取得常數 Scale。
?>
To Top