Да, задайте го в цикъла:
$array[ $row['cat_title'] ][ $row['sub_cat_id'] ] = $row['sub_cat_title'];
Но $array[$row['cat_title']]
може все още да не е зададено, така че трябва да добавите тази проверка предварително:
if( !isset( $array[$row['cat_title']])) {
$array[$row['cat_title']] = array();
}
Вашият оригинален код не се нуждае от тази проверка, тъй като $array[]
няма да генерира никакви забележки/предупреждения, но когато се опитате да зададете конкретен ключ, това ще генерира забележка/предупреждение, ако променливата вече не е декларирана като масив.