Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/05/2014, 12:12
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: 2 ejercicios PHP

Resolver problemas de programación requiere de resolver problemas con perspectiva global y también específica.

No te centres en el echo de que el ejercicio te ha pedido los tres números más grandes, centrate en que primero tendrás que ordenar el array.

Si no puedes utilizar la función nativa de PHP rsort() que sirve para ordenar arrays inversamente de manera que te mostraría primero el número más grande y así hasta el número más pequeño, entonces tendrás que crear tú tu propia herramienta.

Tenemos este código

Código PHP:
Ver original
  1. $entrada=array(1,2,3,10,4,5,6,7,48,9);
  2.      
  3.     foreach($entrada as $key=>$value){
  4.        
  5.     }

Como dije anteriormente, en la primera iteración el foreach pasará por la clave 0 y el valor 1.

¿Qué hay que hacer con ese valor?

Evidentemente compararlo ¿pero con qué? ¿Con todo el array o con qué valor del array podríamos compararlo?

Para ello, necesitamos una referencia iterativa de clave externa a foreach.

Así que ya tenemos este código

Código PHP:
Ver original
  1. $entrada=array(1,2,3,10,4,5,6,7,48,9);
  2.     $i=1;
  3.     foreach($entrada as $key=>$value){
  4.        //aquí comparar el valor de la iteración actual con el valor de la siguiente iteración
  5.     }

$i será nuestra referencia externa para cada iteración.
Se iguala a 1 porque no necesitamos comparar el primer valor con el primer valor, sino con el segundo valor del array.

Entonces nos encontramos con otro problema ¿Cómo hacemos para que $i se incremente en cada iteración para que siempre apunte a la siguiente iteración?

Simplemente utilizamos $i++ al final del foreach.

Así que ¿qué código tendríamos en este punto del desarrollo del programa?
__________________
Ayúdame a hacerlo por mi mismo.