Horje
PHP Program to Convert Enum to String

Enumerations, or enums are a convenient way to represent a fixed set of named values in programming. In PHP, native support for enums was introduced in PHP 8.1. If you are working with an earlier version of PHP, or if you want to explore alternative approaches, you may need a way to convert enums to strings.

1. Using Class Constants

Before PHP 8.1, developers often used class constants to mimic enums. Each constant represents a unique value, and a method can be implemented to convert the enum value to a string.

PHP
<?php

class StatusEnum {
    const PENDING = 1;
    const APPROVED = 2;
    const REJECTED = 3;

    public static function toString($enumValue) {
        switch ($enumValue) {
            case self::PENDING:
                return 'Pending';
            case self::APPROVED:
                return 'Approved';
            case self::REJECTED:
                return 'Rejected';
            default:
                return 'Unknown';
        }
    }
}

// Driver code
$status = StatusEnum::PENDING;
$statusString = StatusEnum::toString($status);

echo "Status: $statusString";

?>

Output
Status: Pending

Associative Arrays

Another approach is to use associative arrays to map enum values to their string representations. Here, an associative array $stringMap is used for mapping enum values to their string representations.

PHP
<?php

class StatusEnum {
    const PENDING = 1;
    const APPROVED = 2;
    const REJECTED = 3;

    private static $stringMap = [
        self::PENDING => 'Pending',
        self::APPROVED => 'Approved',
        self::REJECTED => 'Rejected',
    ];

    public static function toString($enumValue) {
        return self::$stringMap[$enumValue] ?? 'Unknown';
    }
}

// Driver code
$status = StatusEnum::PENDING;
$statusString = StatusEnum::toString($status);

echo "Status: $statusString";

?>

Output
Status: Pending

Using PHP 8.1 Enums

With PHP 8.1, native support for enums was introduced, offering a more robust and type-safe way to define and use enums. This approach uses enum classes to define the enum values and a method to convert them to strings.

Example: The example usage demonstrates creating an enum class and converting an enum value to a string.

PHP
<?php

enum StatusEnum: string {
    case PENDING = 'Pending';
    case APPROVED = 'Approved';
    case REJECTED = 'Rejected';
    
    public function toString(): string {
        return $this->value;
    }
}

// Driver code
$status = StatusEnum::PENDING;
$statusString = $status->toString();

echo "Status: $statusString";

?>

Output:

Status: Pending



Reffered: https://www.geeksforgeeks.org


Geeks Premier League

Related
How to Convert Int Number to Double Number in PHP ? How to Convert Int Number to Double Number in PHP ?
What are HTML Tags ? What are HTML Tags ?
How to Count Occurrences of Each Word in Given Text File in PHP ? How to Count Occurrences of Each Word in Given Text File in PHP ?
23 Times Table | Learn Multiplication Table of 23 Online 23 Times Table | Learn Multiplication Table of 23 Online
HCF of 92 and 152 | How to Find HCF of 92 and 152 HCF of 92 and 152 | How to Find HCF of 92 and 152

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
13