Friday, September 5, 2025
HomeLanguagesHow to check an array is multidimensional or not in PHP ?

How to check an array is multidimensional or not in PHP ?

Given an array (single-dimensional or multi-dimensional) and the task is to check the given array is multi-dimensional or not. There are few methods to check an array is multi-dimensional or not. The function count() and count_recursive() will give wrong result if the array containing a sub-array which is empty, and the other one is using the rsort() function. This function sorts all the sub-arrays towards the beginning of the parent array and re-indexes the array. This ensures that if there are one or more sub-arrays inside the parent array, the first element of the parent array (at index 0) will always be an array. Checking for the element at index 0, we can tell whether the array is multidimensional or not.

Syntax:

rsort( $array )

Parameters: The rsort() function accepts one parameter.

  • $array: This is the object you want to pass to the function.

Example 1: PHP program to check an array is multidimensional or not using rsort function.




<?php
$myarray = array
      
    // Default key for each will 
    // start from 0 
    array("Geeks", "For", "Geeks"), 
    array("Hello", "World"
); 
  
// Function to check array is
// multi-dimensional or not
function is_multi_array( $arr ) {
    rsort( $arr );
    return isset( $arr[0] ) && is_array( $arr[0] );
}
  
// Display result
var_dump( is_multi_array( $myarray ) );
?>


Output:

bool(true)

Example 2: Another PHP program to check an array is multidimensional or not using count function.




<?php
// Declare an array
$neveropen = array(1 => 'a', 2 => 'b', 3 => array("Learn", "Contribute", "Explore"));
$gfg = array(1 => 'a', 2 => 'b');
  
// Function to check array is
// multi-dimensional or not
function is_multi($neveropen) {
      
    $rv = array_filter($neveropen, 'is_array');
      
    if(count($rv)>0) return true;
      
    return false;
}
  
// Display result
var_dump(is_multi($neveropen));
var_dump(is_multi($gfg));
?>


Output:

bool(true)
bool(false)

Note: Try to avoid use count and count_recursive to check that the array is multi-dimension or not cause you may don’t know to weather the array containing a sub-array or not which is empty.

RELATED ARTICLES

Most Popular

Dominic
32267 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6635 POSTS0 COMMENTS
Nicole Veronica
11801 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11865 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7026 POSTS0 COMMENTS
Thapelo Manthata
6703 POSTS0 COMMENTS
Umr Jansen
6720 POSTS0 COMMENTS