<?php


$result['android_animesr_details_ad_hours'] = '9,17-13,13-15';

function parseAdHours(string $hours): array
{
    $output = [];

    foreach (explode(',', $hours) as $part) {
        $part = trim($part);

        if ($part === '') {
            continue;
        }

        // Handle ranges like 13-15
        if (preg_match('/^(\d+)\s*-\s*(\d+)$/', $part, $matches)) {
            $start = (int) $matches[1];
            $end   = (int) $matches[2];

            if ($start <= $end) {
                $output = array_merge($output, range($start, $end));
            } else {
                $output = array_merge($output, range($end, $start));
            }
        }
        // Handle single values like 9
        elseif (is_numeric($part)) {
            $output[] = (int) $part;
        }
    }

    $output = array_values(array_unique($output));
    sort($output);

    return $output;
}

$adHours = parseAdHours($result['android_animesr_details_ad_hours'] ?? '');

print_r($adHours);