查詢

BackedEnum::tryFrom()函式—用法及示例

「 從給定的值嘗試生成一個具有指定列舉型別的列舉物件 」


BackedEnum::tryFrom() 是一個 PHP 函式,用於從給定的值嘗試生成一個具有指定列舉型別的列舉物件。它的主要目的是將給定的值轉換為對應的列舉例項,如果轉換失敗,則返回預設值或丟擲異常。

用法示例:

// 定義一個列舉型別
enum Color {
    case RED = 'red';
    case GREEN = 'green';
    case BLUE = 'blue';
}

// 使用 tryFrom 函式嘗試將字串轉換為列舉例項
$result = Color::tryFrom('green');

// 判斷轉換是否成功,並根據結果進行相應的操作
if ($result !== null) {
    echo "$result is a valid color."; // 輸出: green is a valid color.
} else {
    echo "Invalid color value.";
}

在上面的示例中,我們首先定義了一個名為 Color 的列舉型別,其中包括三個不同的列舉常量:REDGREENBLUE。然後,我們使用 Color::tryFrom() 函式嘗試將字串 'green' 轉換為列舉型別 Color 的例項。如果轉換成功,則返回 Color::GREEN。最後,我們根據返回值判斷轉換是否成功,並輸出相應的結果。

需要注意的是,tryFrom 函式返回的是一個可選型別 (?Color),因此我們使用了非嚴格相等運算子 !== 來檢查轉換結果是否為 null。這是因為轉換失敗時,tryFrom 函式會返回 null,而不是丟擲異常。

希望以上示例能夠幫助你理解 BackedEnum::tryFrom() 函式的用法和功能。

補充糾錯
上一個函式: BackedEnum::from()函式
下一個函式: base64_decode()函式
熱門PHP函式
分享連結