estraño problema
Rodrigo Fuentealba
darkprox en gmail.com
Mar Feb 28 13:34:59 CLST 2006
Análisis de tu drama:
> $resultado=0;
>
valor numérico.
> if ($resultado=="ok")
si el texto mencionado ahí es igual a el valor de mi variable $resultadi
de tipo ###!!!>>>"OBJETO"<<<!!!###
> {
> echo "lalala ";
> }
> else
> {
> echo "lololo ";
> }
> ?>
>
Este es uno de los problemas que más hay que tener en cuenta en PHP,
debido a que todas las variables se comportan de manera distinta según
se les utilice como cadenas de texto o numéricas, por que PHP maneja
todas las variables como objetos y las convierte al tipo de dato que
necesite (alguna vez leí por ahí, no recuerdo el link). Cuando programas
con esto, evita mezclar variables de tipos distintos y cuando
inevitablemente tengas que hacerlo, utiliza floatval() para coma
flotante, intval() para valores enteros, strval() para valores de cadena
de texto y así otras cosas.
No me mires No me mires No me No me No me mires déjalo ya...
Mira ahora, Mira ahora, Mira Mira Mirame ya... (Mecano en la radio...
odio esa canción pero es pegajosísima.)
<?php
$resultado=0;
if (strval($resultado)=="ok")
{
echo intval($resultado);
echo " lalala ";
}
else
{
echo intval($resultado);
echo " lololo ";
}
?>
lo unico que haremos será ver si la variable $resultado convertida a
string es igual al string "ok". Hasta hace un tiempo me resistía a
programar en PHP por lo mismo, pero en la empresa me dijeron "no...
hazlo en PHP" y donde manda capitán...
> extrañamente siempre muestra LALALA en vez de lololo,
> alguien me puede explicar por que crestas "cero es igual a OK"!!!!
>
>
> saludos
> Boris Cruchet
> GULiV.cl
Más información sobre la lista de distribución PHP