はい、ループに設定します:
$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[]
なので、元のコードではこのチェックは必要ありません。 通知/警告は生成されませんが、特定のキーを設定しようとすると、変数がまだ配列として宣言されていない場合に通知/警告が生成されます。