Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2016, 21:39
nelson12345
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 3 meses
Puntos: 2
Problema con variables globales

Buenas noches. Estoy haciendo una matriz con números enteros en donde extraigo el numero mayor de la matriz, pero a su vez tengo que imprimir en que fila y columna se encuentra este numero. Ya hice la extraccion del numero mayor de la matriz y la imprimo tambien el problema es que para imprimir la posicion debo hacerla fuera de los ciclos for para que no se me repitan las impresiones de las posiciones debido a los ciclos, y al hacerlos por fuera se me pierden las variables, por eso averigue y me dicen que se hace con varibles globales pero al hacerlo tambien se me pierden las variables y no me imprime nada como lo estoy tratando de hacer

Código PHP:
        <form name="ejer2" method="post">
            <b>Digite la cantidad de Filas y columnas a generar:</b>
            <br></br>
            Filas: <input type="text" name="filas"></input>
            Columnas: <input type="text" name="columnas"></input>
            <input type="submit" name="enviar" value="Enviar"></input>
        </form>
<?php  
if ($_POST['enviar']){ 
    
$mayor=0;
    echo 
"<table border width='400' height='200'>"
    for(
$i=0;$i<$_POST[filas];$i++){ 
        echo 
"<tr>"
    for(
$j=0;$j<$_POST[columnas];$j++){             
        
$matriz=rand(0,100);
        echo 
"<td>$matriz</td>"
        if (
$matriz>$mayor){
            
$mayor=$matriz;
        }
//cierra if
    
}//cierra for columnas 
echo "</tr>";
}
//cierra for filas
echo "</table>"
            
$i=$fila;
            
$j=$columna;
            function 
reco()
            {
                global 
$fila$columna;
            }
reco();
echo 
"<b>Fila posicion:</b>".$fila."  <br><b>Columna posicion:</b>".$columna."  <br><b>Elemento Mayor:</b>".$mayor;                    

}
//cierra boton enviar
?>
Si hago lo de las variables globales dentro de los ciclos for me sale el siguiente error:

Código HTML:
Ver original
  1. Fatal error: Cannot redeclare reco() (previously declared in

Código PHP:
Ver original
  1. for($i=0;$i<$_POST[filas];$i++){
  2.     for($j=0;$j<$_POST[columnas];$j++){            
  3.         $matriz=rand(0,100);
  4.         echo "<td>$matriz</td>";
  5.         if ($matriz>$mayor){
  6.             $mayor=$matriz;
  7.             $i=$fila;
  8.             $j=$columna;
  9.             function reco()
  10.             {
  11.                 global $fila, $columna;
  12.             }
  13.         }//cierra if
  14.     }//cierra for columnas
  15. }//cierra for filas