Foros del Web » Programando para Internet » PHP »

¿que paso aqui?

Estas en el tema de ¿que paso aqui? en el foro de PHP en Foros del Web. Hola muchachos... miren este código Código PHP: <?php // fijense bien en la linea de abajo... $x  =  prueba ( 0 , "0" , 153 ); print_r  ( $x ); function  prueba  ...
  #1 (permalink)  
Antiguo 14/11/2003, 15:36
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 8 meses
Puntos: 0
¿que paso aqui?

Hola muchachos...
miren este código
Código PHP:
<?php
// fijense bien en la linea de abajo...
$x prueba(0,"0",153);
print_r ($x);
function 
prueba ($a 10$b 11$c 12){
  if (
$a == ''$a 10;
  if (
$b == ''$b 11;
  if (
$c == ''$c 12;
  
$arr = array($a$b$c);
  return 
$arr;
}
?>
como se dan cuenta, lo mas lógico es que la respuesta salga como esta
Cita:
Array ( [0] => 0 [1] => 0 [2] => 153 )
pero sale
Cita:
Array ( [0] => 10 [1] => 0 [2] => 153 )
¿que pasó??? ¿alguien me puede explicar porfavor???
Gracias de antemano... saludos y éxitos en todo ...
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #2 (permalink)  
Antiguo 14/11/2003, 17:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Culpa de que PHP no tiene tipos. Para PHP '' se evalua igual que 0. Asi que para PHP:
Código PHP:
if (''==0) echo 'iguales'
Para hacer la comparacion, tendras que usar el operador === , el "exactemente del mismo valor y mismo tipo".
Código PHP:
if (''===0) echo 'iguales'
Asi que tu codigo quedaria:
Código PHP:
<?php

// fijense bien en la linea de abajo...

$x prueba(0,"0",153);

print_r ($x);

function 
prueba ($a 10$b 11$c 12){

  if (
$a === ''$a 10;

  if (
$b === ''$b 11;

  if (
$c === ''$c 12;

  
$arr = array($a$b$c);

  return 
$arr;

}

?>
Espero que funcione.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 17/11/2003, 07:42
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola josemi...
muchas gracias por tu respuesta y ya funciona con el alcance que me has dado... todo lo que hace un signo igual mas ¿no?
Bueno éxitos a todos y gracias otra vez
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
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 10:32.