Hola,
Debido a la naturaleza de los arrays en PHP (son mas bien mapas, creo que se llamban en otros lenguajes), no puedes establecer nada global del array sin recorrer todo el array. En PHP un array valido es:
Código PHP:
$array[0]=array(1,3,5,7);
$array[1]='PHP';
$array[2]=array(2,4,6,8,10);
$array[3]=33;
Con lo que para saber si es bidimensional o no, deberias hacer una funcion que recorra todos los elementos del array. Para cada elemento, si no es array, devolver false (no es bidimensional), y si es array recorrer cada elemento de ese elemento. Si alguno de esos elementos es un array, devolver false. Si una vez llegado al fina, no se ha devuelto false, se devuelve true (si es solo bidimensional). Asi de cabeza podria ser:
Código PHP:
/* bool es_bidimensional($array)
devuelve true si $array es solo bidimensional, false en caso contrario.
*/
function es_bidimensional($array) {
if (!is_array($array)) return false; // paranoia si no nos pasan un array
foreach ($array as $elemento) {
if (!is_array($elemento)) return false;
foreach ($elemento as $elem) {
if (is_array($elem)) return false;
}
}
return true;
}
// ejemplos
$array=array();
$array[0]=array(1,3,5,7);
$array[1]='PHP';
$array[2]=array(2,4,6,8,10);
$array[3]=array(array(1,2,3));
echo (es_bidimensional($array))?'verdad':'falso';
echo '<br>';
$array=array();
$array[0]=array(1,3,5,7);
$array[1]=array(2,4,6,8,10);
$array[2]=array(array(1,2,3));
echo (es_bidimensional($array))?'verdad':'falso';
echo '<br>';
$array=array();
$array[0]=array(1,3,5,7);
$array[1]=array(2,4,6,8,10);
echo (es_bidimensional($array))?'verdad':'falso';
echo '<br>';
Claro, tomando como solo bidimensional que pueda tener elementos como el 0 y el 2 del ejemplo a la vez. Si ademas quieres que tenga los mismo elementos en cada elemento, queda como ejercicio para el lector
Espero que era esto lo que preguntabas.
Suerte.