¿Cómo verificar que una array sea multidimensional o no en PHP?

Dada una array (unidimensional o multidimensional) y la tarea es verificar que la array dada sea multidimensional o no. Hay pocos métodos para verificar que una array sea multidimensional o no. La función count() y count_recursive() darán un resultado incorrecto si la array contiene una sub-array que está vacía y la otra está usando la función rsort() . Esta función ordena todos los subconjuntos hacia el principio del conjunto principal y vuelve a indexar el conjunto. Esto asegura que si hay una o más subarreglas dentro de la array principal, el primer elemento de la array principal (en el índice 0) siempre será una array. Al verificar el elemento en el índice 0, podemos decir si la array es multidimensional o no.

Sintaxis:

rsort( $array )

Parámetros: La función rsort() acepta un parámetro.

  • $array: este es el objeto que desea pasar a la función.

Ejemplo 1: programa PHP para comprobar que una array es multidimensional o no utiliza la función rsort .

<?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 ) );
?>
Producción:

bool(true)

Ejemplo 2: otro programa PHP para verificar una array es multidimensional o no usa la función de conteo .

<?php
// Declare an array
$geeks = 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($geeks) {
      
    $rv = array_filter($geeks, 'is_array');
      
    if(count($rv)>0) return true;
      
    return false;
}
  
// Display result
var_dump(is_multi($geeks));
var_dump(is_multi($gfg));
?>
Producción:

bool(true)
bool(false)

Nota: Trate de evitar el uso de count y count_recursive para verificar que la array sea multidimensional o no, ya que es posible que no sepa capear la array que contiene una sub-array o no, que está vacía.

Publicación traducida automáticamente

Artículo escrito por BhushanBorole y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *