function esMagico($t){ $sum=0; //Sumo la primera fila para tener un valor de referencia for ($i=0;$i<count($t[0]);$i++){ $sum+=$t[0][$i]; } for ($i=0;$i<count($t);$i++){ $sf=0; $sc=0; for ($j=0;$j<count($t[$i]);$j++){ $sf+=$t[$i][$j]; //Sumo la fila $sc+=$t[$j][$i]; //Sumo la columna } //Si fila o columna son diferentes al valor de referencia no es mágico if ($sf!=$sum || $sc!=$sum ){return false;} } return true; }