Elements
The Element enum represents the five elements (Wu Xing): Wood, Fire, Earth,
Metal, and Water.
use BradieTilley\Zodiac\Element;
use Carbon\Carbon;
$element = Element::fromDate(Carbon::parse('2024-02-10'));
// or
$element = Element::fromYear(2024);
$element; // Element::WOOD
$element->value; // 'wood'
$element->label(); // 'Wood'
Year → element mapping
Elements are resolved from the year's last digit via Element::index():
Element::index();
// [0 => Metal, 1 => Metal, 2 => Water, 3 => Water, ..., 8 => Earth, 9 => Earth]
Deprecated: sequence() / ordered()
Element::sequence() (and ordered(), which wraps it) are deprecated. Prefer:
- Element::sequence()
+ array_values(array_unique(Element::index()))
- Element::ordered()
+ Collection::make(array_values(array_unique(Element::index())))
Serialization
$element->toArray();
// ['value' => 'wood', 'label' => 'Wood']