Недавно появилась необходимость проверить является ли массив "плоским" или многомерным.
function isFlat(array $array)
{
return count($array) == count($array, COUNT_RECURSIVE);
}
// плоский массив
$arrayOne = [1, 2, 3, 4, 5 => 'value'];
// многомерный массив
$arrayTwo = [1, 2, 3, 4, 5 => [51, 52 => 'value']];
var_dump(isFlat($arrayOne)); //=> true
var_dump(isFlat($arrayTwo)); //=> false