Comentarios en: Quiz sobre PHP – rarezas del lenguaje http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/ Diseño y Programación Thu, 18 Mar 2010 13:48:21 -0400 http://wordpress.org/?v=3-bc-1.0 hourly 1 Por: nicolas http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-10257 nicolas Tue, 20 Mar 2007 15:57:00 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-10257 Fácil 0 ) echo 'foo'; //$variable negada, es falso, o cero. Por lo tanto, no entra a este if tampoco. if ( ! $variable > 0 ) echo 'bar'; // muestra baz echo 'baz'; ?> Otra cosa hubiese sido si el segundo if era asi: if (!($variable > 0)) $variable no es mayor a cero, entonces es falso; pero con la negacion se transforma en verdadero, por lo que hubiese escrito barbaz Fácil

0 )
echo 'foo';

//$variable negada, es falso, o cero. Por lo tanto, no entra a este if tampoco.
if ( ! $variable > 0 )
echo 'bar';

// muestra baz
echo 'baz';
?>

Otra cosa hubiese sido si el segundo if era asi:

if (!($variable > 0))
$variable no es mayor a cero, entonces es falso; pero con la negacion se transforma en verdadero, por lo que hubiese escrito
barbaz

]]>
Por: Seth http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-8498 Seth Fri, 09 Feb 2007 06:27:20 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-8498 Primero lean como funciona PHP con la comparacion entre tipos de datos antes de opinar e insultarse unos a otros. Por algo PHP implementa 2 operadores de comparacion (== y ===) PHP usando == toma las cadenas como "algo" y "algo" es mayor a 0. Hay que revisar como se comporta >. No estoy seguro si existe un operador >== (puesto que >= significa otra cosa), pero no creo. Para mi que imprime las 3 cadenas. No he hecho la prueba Primero lean como funciona PHP con la comparacion entre tipos de datos antes de opinar e insultarse unos a otros.

Por algo PHP implementa 2 operadores de comparacion (== y ===)

PHP usando == toma las cadenas como "algo" y "algo" es mayor a 0. Hay que revisar como se comporta >. No estoy seguro si existe un operador >== (puesto que >= significa otra cosa), pero no creo. Para mi que imprime las 3 cadenas. No he hecho la prueba

]]>
Por: Antares http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3194 Antares Fri, 20 Oct 2006 00:05:00 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3194 Pues a mi me sigue gustando mucho mas mi php (4 eso si). Si no quieren comeduras de cabeza ahy un buen <a href="http://es.php.net/is_nan" title="Documentacion de is_nan" rel="nofollow">is_nan()</a> para probar si es un numero. y por cierto.. si lo ejecutas sale solo "baz". Pues a mi me sigue gustando mucho mas mi php (4 eso si). Si no quieren comeduras de cabeza ahy un buen is_nan() para probar si es un numero. y por cierto.. si lo ejecutas sale solo "baz".

]]>
Por: Ympostor http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3072 Ympostor Sun, 08 Oct 2006 16:12:41 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3072 Exactamente Jersson! Estos personajes aún no saben el enorme ahorro de dolores de cabeza que supone trabajar con un lenguaje estáticamente tipado (ejemplos: Eiffel, C#, Java). Exactamente Jersson! Estos personajes aún no saben el enorme ahorro de dolores de cabeza que supone trabajar con un lenguaje estáticamente tipado (ejemplos: Eiffel, C#, Java).

]]>
Por: Jersson http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3048 Jersson Fri, 06 Oct 2006 06:52:51 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3048 que problema trabajar con lenguajes sin tipos explicitos. que problema trabajar con lenguajes sin tipos explicitos.

]]>
Por: alex http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3042 alex Thu, 05 Oct 2006 18:07:58 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3042 <strong>Leonel</strong>: La segunda condición fue puesta intencionalmente, lo que en realidad llega a compararse es <code>[false > 0]</code> o lo que es lo mismo <code>[0 > 0]</code>. En cuanto a la primera, no tengo idea del valor que llegaría a tomar <code>$variable</code>, porque si se hace un cast a boolean del valor actual de <code>$variable</code>, la condición resultante es verdadera (true > 0) y por lo tanto imprimiría 'foo'. Leonel: La segunda condición fue puesta intencionalmente, lo que en realidad llega a compararse es [false > 0] o lo que es lo mismo [0 > 0].

En cuanto a la primera, no tengo idea del valor que llegaría a tomar $variable, porque si se hace un cast a boolean del valor actual de $variable, la condición resultante es verdadera (true > 0) y por lo tanto imprimiría 'foo'.

]]>
Por: alex http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3041 alex Thu, 05 Oct 2006 17:50:00 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3041 <strong>Carlos</strong>, tómalo con calma..., si crees que es estúpido hacer eso, simplemente no te tomes la molestia en comentar el post. Carlos, tómalo con calma..., si crees que es estúpido hacer eso, simplemente no te tomes la molestia en comentar el post.

]]>
Por: Carlos Montalvo http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3040 Carlos Montalvo Thu, 05 Oct 2006 17:09:38 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3040 :-s eso hubieses puesto antes de mandar un codigo... el problema en esi es el tipo de datos nada mas.... :-s eso hubieses puesto antes de mandar un codigo... el problema en esi es el tipo de datos nada mas....

]]>
Por: Leonel http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3039 Leonel Thu, 05 Oct 2006 14:50:07 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3039 En un principio solo muestra "baz" $variable NO es mayor a 0. De hecho creo que al compararse un string con un número, automáticamente se hace el casting del string y calculo que 'demo' obtiene un valor numérico de 0. El problema de ese código, es que el operador de negación se está aplicando a $variable y no a la comparación. Para que muestre 'barbaz' como interpreto que se quería mostrar con ese código (muy subjetivo) habría que reformular el 2º if de la siguiente manera: if ( ! ( $variable > 0 ) ) Saludos!! En un principio solo muestra "baz"

$variable NO es mayor a 0. De hecho creo que al compararse un string con un número, automáticamente se hace el casting del string y calculo que 'demo' obtiene un valor numérico de 0.

El problema de ese código, es que el operador de negación se está aplicando a $variable y no a la comparación.
Para que muestre 'barbaz' como interpreto que se quería mostrar con ese código (muy subjetivo) habría que reformular el 2º if de la siguiente manera:

if ( ! ( $variable > 0 ) )

Saludos!!

]]>
Por: kesar http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/comment-page-1/#comment-3037 kesar Thu, 05 Oct 2006 13:15:58 +0000 http://www.buayacorp.com/archivos/quiz-sobre-php-rarezas-del-lenguaje/#comment-3037 solo devolverá baz, pues $variable no es ni mayor ni menor que 0, es distinto :) solo devolverá baz, pues $variable no es ni mayor ni menor que 0, es distinto :)

]]>