If anyone is here wondering how to get all the names from the enum cases and map them into an array, it can be done like this:
array_column(CampaignPeriods::cases(), 'name');
Likewise, have the 2nd argument as 'value' to get the enum's values.
Happy coding, web artisan :)
PHP.mk документација
UnitEnum::cases
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
unitenum.cases.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
unitenum.cases.php
UnitEnum::cases
Референца за `unitenum.cases.php` со подобрена типографија и навигација.
UnitEnum::cases
(PHP 8 >= 8.1.0)
UnitEnum::cases — Генерира список на случаи на enum
= NULL
Овој метод ќе врати спакувана низа од сите случаи во еднашброј, по редослед на декларација.
Параметри
Оваа функција нема параметри.
Вратени вредности
Низа од сите дефинирани случаи на оваа еднашброј, по редослед на декларација.
Примери
Пример #1 Основна употреба
Следниот пример илустрира како се враќаат enum случаите.
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
var_dump(Suit::cases());
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
array(4) {
[0]=>
enum(Suit::Hearts)
[1]=>
enum(Suit::Diamonds)
[2]=>
enum(Suit::Clubs)
[3]=>
enum(Suit::Spades)
}
Белешки од корисници 2 забелешки
avishkasenanayake at hotmail dot com ¶
3 години пред
miken32 на example dot com ¶
6 месеци пред
The Enum documentation says, "if a Backed Enum is serialized to JSON, it will be represented by its scalar value only, in the appropriate type."
This means you can easily get a backed Enum's values for use in a JSON document using only the BackedEnum::cases() method:
<?php
enum Suits: string {
case Hearts = 'Heart';
case Diamonds = 'Diamond';
case Clubs = 'Spade';
case Spades = 'Club';
}
echo json_encode(Suits::cases());
?>
Results in this output:
["Heart","Diamond","Spade","Club"]