Foros del Web » Programando para Internet » PHP »

Saber si 4 numeros son iguales

Estas en el tema de Saber si 4 numeros son iguales en el foro de PHP en Foros del Web. Hola! tengo un problema con los "and" y los "==" Tengo 5 numeros. Y quiero q si x numeros son iguales, la variable sea = ...
  #1 (permalink)  
Antiguo 23/02/2009, 18:03
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 16 años, 3 meses
Puntos: 0
Saber si 4 numeros son iguales

Hola! tengo un problema con los "and" y los "=="

Tengo 5 numeros. Y quiero q si x numeros son iguales, la variable sea = a 1.

Código PHP:
$numero1=1;
$numero2=1;
$numero3=1;
$numero4=2;
$numero5=1;

if((
$numero1 and $numero2 and $numero3) == $numero5){$variable=1;} 
Osea algo estoy haciendo mal que no me da bien. Si alguien sabe una forma de hacerlo bien le agradeceria :).
  #2 (permalink)  
Antiguo 23/02/2009, 18:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Saber si 4 numeros son iguales

con AND comparas booleanos, no haces operaciones....

menos comparas números, lee bien el manual de sintaxis PHP ... por favor!

Código PHP:
if (($a == $b) && ($a == $c) && ($a == $d) && ($a == $e)) // ... 
o al menos, piensa mas las cosas... cosa que leyendo, se piensan solas....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2009, 18:22
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Saber si 4 numeros son iguales

no habra otra forma? si fuesen 1000 numeros xD el if seria bien largo

yo ocuparia una matriz y compararia con for si fuese el caso, de todas maneras 4 igualdades no sera como mucho?, creo que el problema viene de antes
__________________
Ayuda!! firmar y compartir
No a la privatizacion de semillas http://www.thepetitionsite.com/1/no-...n-de-semillas/
Mas info: http://chilesintransgenicos.cl/
  #4 (permalink)  
Antiguo 23/02/2009, 18:25
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Saber si 4 numeros son iguales

Cita:
Iniciado por pateketrueke Ver Mensaje
con AND comparas booleanos, no haces operaciones....
Propiamente dicho, AND no hace comparaciones, sino que sirve para "unir" dos sentencias que devuelven true o false y obtener un nuevo valor booleano "global". Se encuentra dentro de los operadores lógicos.

  #5 (permalink)  
Antiguo 23/02/2009, 22:09
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Saber si 4 numeros son iguales

Remsankar:

Supongamos que tienes 1000 numeros
1.- Estableces un array con los numeros $numero[ ]
2.- Haces un count del array, ETC.
$y = 0;
$cantidad = count($numero[ ]);
for($w = 1; $w < $cantidad; $w++) {
if($numero[0] == $numero[$w]) {
$y++;
}
echo "Hay $y coincidencias<br";
$coincidencias = $cantidad - 1;
if($y == $coincidencias) {
//AQUI HACES LO QUE DESEAS HACER CUANDO TODOS COINCIDEN CON EL MISMO NUMERO
//AQUI YA SE CUMPLE LO DE LA IF STATEMENT!!!!
}

No se si esto te sirva pero
cuando $y es igual a $cantidad menos 1, indica
que todos coinciden con el valor del
array $numero[0].
Lo hice muy rapido, si tengo error favor
corregir!!!.

Saludos
Franco
  #6 (permalink)  
Antiguo 23/02/2009, 22:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Saber si 4 numeros son iguales

Otra forma. Usando banderas un tanto especiales:

Código php:
Ver original
  1. $numeros = array(2, 3, 2, 2, 2, 2, 2);
  2.  
  3. $guia = $numeros[0];
  4. $iguales = true;
  5.  
  6. foreach($numeros as $numero) {
  7.     if($numero !== $guia) {
  8.         $iguales = false;
  9.         break;
  10.     }
  11. }
  12.  
  13. var_dump($iguales);
  #7 (permalink)  
Antiguo 23/02/2009, 22:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Saber si 4 numeros son iguales

Mmmm ... in_array?

Código php:
Ver original
  1. $numeros = array(2, 3, 2, 2, 2, 2, 2);
  2. $numero = 1;
  3. if( in_array( $numero, $numeros ) ) {
  4.       echo "hay iguales";
  5. } else {
  6.       echo "no hay iguales";
  7. }

Saludos
  #8 (permalink)  
Antiguo 24/02/2009, 06:19
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Saber si 4 numeros son iguales

@GatorV, en este caso no sería así, pues lo que c0w desea lograr es, dados N cantidad de números, saber si todos esos son iguales entre sí. Por lo tanto, si estos números se guardan en un array, hay que hacer la comparación 1 a 1.

En el código que le di en el mensaje anterior, uso el primer elemento del array como guía, y luego comparo el resto de elementos del array 1 a 1 con la guía. Si aparece alguno distinto, quiere decir que podemos afirmar que uno o más números de la lista son diferentes del resto.

Saludos.

P.D. Felices casi 19K. Si no hubiera sido por el timeout ya estarías por los 20
  #9 (permalink)  
Antiguo 24/02/2009, 11:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Saber si 4 numeros son iguales

Mmmm en ese caso array_unique, serviria, si regresa solo un elemento es que todos eran iguales:
Código php:
Ver original
  1. if(count(array_unique($numeros)) == 1) {
  2.         // todos son iguales
  3. } else {
  4.         // hay al menos un diferente
  5. }

Saludos

P.D. Gracias por las felicitaciones
  #10 (permalink)  
Antiguo 24/02/2009, 13:55
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Saber si 4 numeros son iguales

interesante lo que hacen con matrices, yo hubiera hecho algo muy similar a lo de franco mas rudimentario a lo que proponen con las matrices, voy a probar y les cuento.

Me pregunto tambien que sera mas rapido
__________________
Ayuda!! firmar y compartir
No a la privatizacion de semillas http://www.thepetitionsite.com/1/no-...n-de-semillas/
Mas info: http://chilesintransgenicos.cl/
  #11 (permalink)  
Antiguo 24/02/2009, 14:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Saber si 4 numeros son iguales

Las funciones nativas de PHP siempre son más rapidas al código en PHP, esto es porque estan programadas en el Core de PHP y estan hechas en C.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:56.