<?php
enum Fruit {
case APPLE;
case ORANGE;
case BANANA;
}
function getEnumValue($value, $enumClass) {
$cases = $enumClass::cases();
$index = array_search($value, array_column($cases, "name"));
if ($index !== false) {
return $cases[$index];
}
return null;
}
// Sample data
foreach (["APPLE", "PEAR", "ORANGE", "LEMON", "BANANA", "STRAWBERRY"] as $userInput) {
$fruit = getEnumValue($userInput, Fruit::class);
if ($fruit !== null) {
eatFruit($fruit);
} else {
echo $userInput . " is not a valid Fruit\n";
}
}
function eatFruit(Fruit $fruit): void {
if ($fruit === Fruit::APPLE) {
echo "An apple a day keeps the doctor away\n";
} elseif ($fruit === Fruit::ORANGE) {
echo "When life gives you oranges, make orange juice\n";
} elseif ($fruit === Fruit::BANANA) {
echo "Banana for scale\n";
}
}
preferences:
25.77 ms | 405 KiB | 5 Q