Short array and update key as of value[0] and remove unused data

You need to extract the key and the value before to add data in sale_data :

foreach ($category_sale_data as $key => $value) {
    [$sale_key, $sale_value] = explode('*', $value);
    $category->sale_data[$sale_key][] = $sale_value;
}

Full example - (livedemo)

// Sample data
$category = (object) ['category_name' => '32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1'];
// process
$category_sale_data = explode(',', $category->category_name);
foreach ($category_sale_data as $key => $value) {
    [$sale_key, $sale_value] = explode('*', $value);
    $category->sale_data[$sale_key][] = $sale_value;
}
// display
print_r($category);

Output :

stdClass Object
(
    [category_name] => 32459*1500*lab*1,32460*400*lab*1,32461*600*lab*1
    [sale_data] => Array
        (
            [32459] => Array
                (
                    [0] => 1500
                )
            [32460] => Array
                (
                    [0] => 400
                )
            [32461] => Array
                (
                    [0] => 600
                )
        )
)