App\Libraries\ModsHelper::toArray PHP Метод

toArray() публичный статический Метод

public static toArray ( $bitset )
    public static function toArray($bitset)
    {
        $mods = [];
        $impliedIds = [];
        foreach (static::AVAILABLE_MODS as $availableMod) {
            if (($bitset & 1 << $availableMod[0]) === 0) {
                continue;
            }
            $currentImpliedIds = $availableMod[2] ?? null;
            if ($currentImpliedIds !== null) {
                $impliedIds = array_merge($impliedIds, $currentImpliedIds);
            }
            $mods[$availableMod[0]] = $availableMod[1];
        }
        $mods = array_filter($mods, function ($modId) use($impliedIds) {
            return !in_array($modId, $impliedIds, true);
        }, ARRAY_FILTER_USE_KEY);
        $mods = array_values($mods);
        sort($mods);
        return $mods;
    }

Usage Example

Пример #1
0
 public function getModsAttribute($value)
 {
     if (empty($this->_mods)) {
         $this->_mods = ModsHelper::toArray($value);
     }
     return $this->_mods;
 }
All Usage Examples Of App\Libraries\ModsHelper::toArray