男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

枚舉基礎

Enum 類(lèi)似 class,它和 class、interface、trait 共享同樣的命名空間。 也能用同樣的方式自動(dòng)加載。 一個(gè) Enum 定義了一種新的類(lèi)型,它有固定、數量有限、可能的合法值。

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

以上聲明了新的枚舉類(lèi)型 Suit,僅有四個(gè)有效的值: Suit::Hearts、Suit::Diamonds、 Suit::Clubs、Suit::Spades。 變量可以賦值為以上有效值里的其中一個(gè)。 函數可以檢測枚舉類(lèi)型,這種情況下只能傳入類(lèi)型的值。

<?php
function pick_a_card(Suit $suit) { ... }

$val Suit::Diamonds;

// OK
pick_a_card($val);
// OK
pick_a_card(Suit::Clubs);
// TypeError: pick_a_card(): Argument #1 ($suit) must be of type Suit, string given
pick_a_card('Spades');
?>

一個(gè)枚舉可以定義零個(gè)或多個(gè)case,且沒(méi)有最大數量限制。 雖然零個(gè) case 的 enum 沒(méi)什么用處,但在語(yǔ)法上也是有效的。

枚舉條目的語(yǔ)法規則適用于 PHP 中的任何標簽,參見(jiàn)常量。

默認情況下,枚舉的條目(case)本質(zhì)上不是標量。 就是說(shuō) Suit::Hearts 不等同于 "0"。 其實(shí),本質(zhì)上每個(gè)條目是該名稱(chēng)對象的單例。具體來(lái)說(shuō):

<?php
$a 
Suit::Spades;
$b Suit::Spades;

$a === $b// true

$a instanceof Suit;  // true
?>

由于對象間的大小比較毫無(wú)意義,這也意味著(zhù) enum 值從來(lái)不會(huì ) <> 其他值。 當 enum 的值用于比較時(shí),總是返回 false。

這類(lèi)沒(méi)有關(guān)聯(lián)數據的條目(case),被稱(chēng)為“純粹條目”(Pure Case)。 僅包含純粹 Case 的 Enum 被稱(chēng)為純粹枚舉(Pure Enum)。

枚舉類(lèi)型里所有的純粹條目都是自身的實(shí)例。 枚舉類(lèi)型在內部的實(shí)現形式是一個(gè) class。

所有的 case 有個(gè)只讀的屬性 name。 它大小寫(xiě)敏感,是 case 自身的名稱(chēng)。

<?php
print Suit::Spades->name;
// 輸出 "Spades"
?>
男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站