Google
Web dns.bdat.net

Re: [PHP-ES] Busqueda en arrays

Write haof XML files: Alex ( listas(EN)edelwises.com)
Fecha: jue 17 mar 2005 - 09:44:49 CET


 Muchas gracias por los ejemplos.

Aunque ya lo resolvi con 2 bucles anidados, es mucho mas correcto el
in_array, instruccion que no encontraba aunque, si existe para strings,
tenia que existir para arrays.

La manera de seleccionar 4 seria, entonces:

$max = 4;

for ($i=1;$i<$max;$`++)
     {
          do
               {
                    $valor = rand(1,14);
               } while (in_array($valor;$numeros));
          $numeros[i] = $valor;
     }

Si hay algo mal, sin problemas, que corrija quien quiera ;)

Saludos.

Alex.
 
-------Mensaje original-------
 
De: Vladimir Hernández
Fecha: 03/16/05 19:46:48
Para: php-es(EN)lists.php.net
Asunto: Re: [PHP-ES] Busqueda en arrays
 
Este script elige cuátro números aleatorios, cada uno del 1 al 14, sin
repetir
ninguno. Ya lo probé.
 
<?php
 
# Inicializando variables
$i=0;
$salida = array();
 
# Generando números
while ($i<4) {
  $temp=rand(1,14);
  # Si el número generado no se encuentra previamente en el array
  if(in_array($temp,$salida)==false){
   $salida[$i]=$temp;
   $i++;
  }
}
 
# Organizando el array
sort($salida);
reset($salida);
 
# Mostrando la salida
for ($i=0;$i<4;$i++){
  echo $salida[$i]." ";
}
 
?>
 
Espero te sirva
 
Vladimir Hernández
--
Inter-Connect
Web Design and Translations
Diseño de Páginas de Internet y Traducciones
www.inter-connect.us
Linux registered user # 374079
counter.li.org
 
On Wednesday 16 March 2005 07:40, Alex wrote:
> Buenas tardes.
>
>
>
> Estoy parado en un problema con arrays y números aleatorios.
>
>
>
> Se trata de escoger 4 números aleatorios de 1 a 14 y no quiero que se
> repitan.
>
>
>
> Lo que yo hacia era guardarlos en un array y compararlos para evitar que
se
> repitan, pero como la comparación la hacia de 1 con el siguiente, no se me
> repiten seguidos, pero sí se pueden repetir el 1 con el 3 o el 4 o el 2
con
> el 4.
>
>
>
> Es evidente que no es la manera correcta, pero he intentado por varios
> medios comparar de otra forma y no logro encontrar como.
>
>
>
> Otra cosa que se me ocurrió fue pasarlo a string y allí comparar, pero
> tampoco me dio buen resultado.
>
>
>
> La intención es que se trate de una función para no limitar a 4 la
búsqueda
> de números, dado que en otros casos busco solo 2 o hasta 7.
>
>
>
> Si alguien me puede ayudar, se lo agradeceré.
>
>
>
> Un saludo.
>
>
>
> Alex.
 
--
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 
 
 
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.7.3 - Release Date: 15/03/2005
 
.



Este archivo fue generado por hypermail 2.1.7 : sáb 19 mar 2005 - 01:01:24 CET