No me da pena decir que llevo programando en PHP por 2 años, y estaba convencido de que eso daba false si o si, nunca me había dado false en el tiempo que llevo programando imagino por la costumbre de siempre colocar los paréntesis. Excelente clase.
Tipado en PHP
Introducción
Cómo aprender a programar
¿PHP está muerto?
Cómo interactúa una página web con tu backend
Instalación
Instalación de PHP en Windows
Instalación de PHP en Linux
Instalación de PHP en macOS
Ejecutando código y archivos PHP
Hackea tu miedo a la terminal
Cómo ejecutar tus archivos PHP
Aprendiendo a caminar con PHP
Sintaxis básica de PHP
Debugging y comentarios
Variables y constantes
Tipos de datos
Tipos de datos
¿Qué es el casting?
Reto: análisis de tipado en PHP
Operadores en PHP
Operadores lógicos: ¿qué son las tablas de verdad?
Reto: análisis de operadores lógicos
Operadores aritméticos
Operadores relacionales
Otros operadores
Precedencia de operadores
Programando con PHP
Tu primer programa: ¿qué hora es?
Solución del reto: ¿qué hora es?
¿Quieres un Curso Básico de PHP: Arreglos, Funciones y Estructuras de Control?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 21
Preguntas 7
No me da pena decir que llevo programando en PHP por 2 años, y estaba convencido de que eso daba false si o si, nunca me había dado false en el tiempo que llevo programando imagino por la costumbre de siempre colocar los paréntesis. Excelente clase.
La Precedencia de Operadores nos sirve para decidir qué pasará?, en qué orden?, cuando estamos programando. Para que funcione primero incializamos la variable y luego le asignas la funcion que debe realizar, es decir, por ejemplo, primero le das le valor de cero a la variable y luego le dices que le sume 1 cada vez que haga un ciclo
Los paréntesis son mi pastor, entonces. Con ellos se soluciona todo
Una observación. La documentación de PHP es muy clara al respecto: primero se respeta la precedencia, después la asociatividad cuando la precedencia de los operadores está en el mismo nivel.
Por ejemplo, * tiene mayor precedencia que +, aún cuando ambas tienen asociatividad izquierda. De tal forma que algo como esto:
<?php
echo $res = 5 + 2 * 3;
Dará como resultado 11, porque primero hace el producto (2 * 3) y después lo suma a 5.
Otro ejemplo es el de and y &&, en donde la operación “falla” si se le pone and pero será exitosa si se le coloca &&.
<?php
$gato_tiene_4_patas = true;
$gato_programa_PHP = false;
$resultado = $gato_tiene_4_patas and $gato_programa_PHP;
echo 'Gato tiene 4 patas Y programa en PHP: ';
var_export($resultado);
echo "\n";
$resultado = $gato_tiene_4_patas && $gato_programa_PHP;
echo 'Gato tiene 4 patas && programa en PHP: ';
var_export($resultado);
echo "\n";
En términos prácticos, hay que tomar la tabla de precedencia de PHP primero de arriba hacia abajo y luego según su asociatividad.
Recientemente tuve problemas con una condicional al usar “and”. No había tenido en cuenta la precedencia y que mi problema se resolvía encapsulado entre paréntesis =(.
La precedencia de un operador indica qué tan “estrechamente” se unen dos expresiones juntas.
Quisiera que me explicaran de otra forma el ejemplo del operador and, porque no logro entender del todo aunque vea el video varias veces ya. El mismo ejemplo pero con otras palabras.
Entiendo que la variable $resultado perse está almacenando true, pero toda la instrucción es false.
dios este man enseña muy bien
Excelente clase!!!
La verdad uno delos mejores profe que he visto, en diferentes plataformas, explica en detalle y su forma de explicar es excelente. Gracias Profe.
Pensé que ya se te había olvidado que teníamos pendiente el ejemplo de por que daba true el and de ese ejemplo de los michis jaja
Bastante interesante este tema, muchas gracias por aclararlo
¡Me encantó esta clase!
ufff corri a ver si esto aplicaba en c#,
y por suerte no aplica 😄
Estaba experimentando con la precedencia de operadores de comparación y probé los siguiente:
<?php
var_dump (1<=1 <=> 7);
echo "\n";
El resultado por consola fue int(0), el motivo creo que es que primero evalúa si 1 es menor o igual a 1 (true), y después realiza una comparación con el operador de nave espacial entre true y 7. Como son distintos tipos de datos, automáticamente se evalúan los dos como boolean, y como 7 devuelve true, finalmente queda: true<=>true, lo cual devuelve 0 porque son equivalentes.
<?php
$contador = 1;
$resultado = $contador++;
echo “\n”;
echo “Siendo:\ncontador = 1\nresultado = contador++\n”;
echo “El resultado del contador++ es: $resultado”;
echo “\n”;
echo “\n”;
echo "La suma de 1 - 2 - 3 es: ";
echo 1 - 2 - 3;
echo “\n”;
echo “\n”;
$c = 10;
$a = $b = $c;
echo “Esta ecuación:\nc = 10 \na = b = c\nDa como resultado: $a”;
echo “\n”;
echo “\n”;
$michis_4_patas = true;
$michis_programan_con_PHP = false;
$resultado = $michis_4_patas and $michis_programan_con_PHP;
echo “Siendo michis_4_patas = true\n”;
echo “michis_programan_con_php = false\n”;
echo “\n”;
echo “El resultado sin paréntesis de ‘michis_4_patas and michis_programan_con_php’ es:\n”;
var_dump( $resultado );
echo “\n”;
echo “\n”;
$resultado2 = ($michis_4_patas and $michis_programan_con_PHP);
echo “\n”;
echo “El resultado con paréntesis de ‘(michis_4_patas and michis_programan_con_php)’ es:\n”;
echo “\n”;
var_dump( $resultado2 );
echo “\n”;
$contador = 0;
//Esta linea
$nuevo_valor = $contador++;
//Es igual a
$nuevo_valor = $contador;
$contador = $contador + 1;
Muy buen aporte para tener en cuenta a la hora de programar
Muy interesante.
Ya entiendo porque hay tanta gente que odia PHP, pero basicamente todo se resuelve al tener buenas practicas, aunque no deja de ser bastante tricky.
AQUI ES MUY IMPORTANTE SABER LA PRECEDENCIA MATEMATICA
En el caso de la resta lo que realmente esta aplicando es la precencia Matematica…
Recordad que podemos agrupar sumas y restas para llegar al valor minimo una vez que tenemos ese valor quien sea mas granade positivos o negativos es conforme se hace la operacion
Ejemplo
5 + 2 + 3 -2 -1 -2 +6
RESOLVEMOS POR GRUPOS POSITIVOS Y NEGATIVOS
(5+2+3+6) = 16 → POSITIVOS
(-2-1-2) = -5 → NEGATIVOS
QUIEN ES MAS GRANDE? R= LOS POSITIVOS, POR LO TANTO AL 16 POSITIVO LE VAMOS A RESTA 5 NEGATIVOS
EL RESULTADO FINAL ES 11 POSITIVOS
La Precedencia en PHP es el orden en el que las operaciones aritméticas irán calculándose. La documentación oficial de PHP muestra el orden de esta.
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.