PHP : Check if multidimensional array or flat array

Ada banyak tipe array dalam php, misalnya :

 

// TIPE 1
$array=[
	   'cat1' => 2,
	   'cat2' => 1,
	   'cat3' => 1
	];
	
//atau

//TIPE 2
$array=[
		'cat1'=>2,
		'cat2'=>1,
		'cat3'=>['id1'=>1,'idt2'=>2],
		'cat4'=>['id1'=>3,'idt2'=>4,'idq3'=>2],
		
	];

// atau

//TIPE 3
$array=["cat1","cat2","cat3","cat4"];

Untuk membedakan tipe array tersebut, begini caranya 

function check_array($array){
	$arr=$array;
	if(is_array($arr)){
		if(isset($arr[0])){
			if(count($arr) !== count($arr, COUNT_RECURSIVE)){
				return "ARRAY TIPE 2";	
			}else{
				return "ARRAY TIPE 3";	
			};
		}else{
			rsort($arr);
			if(is_array($arr[0])){
				return "ARRAY TIPE 2";	
			}else{
				return "ARRAY TIPE 1";	
			}
		}
	}else{
		return "NOT ARRAY 0";
	}
};
<?php
    //USAGE
    
    $array=["cat1","cat2","cat3","cat4"];
   echo check_array($array);