Aqui te facilito una funcion simple (by deer :P)que resuelve lo necesitado.
Datos de Entrada
- el Array
- Variable $columna pasada por referencia (aqui se graba el dato)
- Variable $filas pasada por referencia (aqui se graba el dato)
Datos de Salida
Si el array es rectangular por decir, osea siempre tiene la misma cantidad de columnas, devuelve True, Falso en caso contrario , (los datos filas y columna se graban en las variables pasadas por referencia).
Código PHP:
<?
// Array Numero de Filas y Columnas
// http://deerme.org
function filas_columnas($array,&$columnas,&$filas)
{
// Datos de Entrada
// Array a Revisar y las Variables columnas y filas que se van a pasar por referencia
$filas=count($array);
for ($i=0;$i<count($array);$i++)
{
$j=0;
foreach ( $array[$i] as $valor)
{
$j++;
}
if ($i == 0)
{
$columnas=$j;
}
else
{
if ( $columnas != $j )
{
// No tienen la misma cantidad de Columnas
// Devolvemos False
return FALSE;
}
}
}
return TRUE;
// Datos de Salida
// devuelve True si siempre tiene la misma cantidad de columnas
// falso en caso contrario
}
$array[0][0]=12;
$array[0][1]=13;
$array[0][2]=16;
$array[1][0]=132;
$array[1][1]=2131;
$array[1][2]=136;
if ( filas_columnas($array,$c,$f) )
{
echo ' La Matriz es Rectangular ';
echo ' Filas : '.$f.' Columnas : '.$c.'';
}
else
{
echo ' La Matriz no es Rectangular';
}
?>
Saludos
PD: La solucion de
sergiold es muxo mas eficaz,pero esta func la tenia escrita hace ene tiempo y la he usado cuando la necesitaba xD.