Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Sintaxis básica de PHP: comparación y variables

8/19
Recursos

Aportes 69

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

El tema de variables variables es un poco MindBlow, trataré de hacer mi aporte explicándolo un poco mejor:

Una variable es PHP se conforma por el símbolo del dolar “$” y el nombre de la variable “name”, por tanto, puedo tener estas variables:

$pepito;
$pablito;
$freddyto;
$platzito;

Entonces, en el caso de:

$app = "name";
$name = "platzi";

Cuando pones el primer sígno de dolar: “$” estás haciendo referencia a que vas a declarar una variable, ¿Recuerdas que una variable se compone de dos partes? El dólar y el nombre, por tanto, si ya escribí el dólar, me falta escribir el nombre, pero en este caso estámos escribiendo:

echo $$app;

Eso quiere decir que… ¿El nombre de mi variable es $app? ¡Sí! El nombre de tu variable es $app, pero un momento, $app también tiene un signo de dólar… ¡$app también es una variable! entonces, PHP trata de resolver ese valor, ¿Cuál es el valor de $app? El valor de $app es “name” por tanto, en la expresión “echo $$app;” PHP reemplaza “$app” por “name” (que es su valor), y entonces, la epresión queda como “echo $name;” recuerda, $app fue sustituido por el valor de su variable, ¡Y ahora si! Ya tenemos la variable que queríamos, le estamos pidiendo a PHP que me imprima el valor de $name, ¿Y cuál es el valor de $name? ¡El valor de $name es “platzi”!

Así es como funcionan las variables variables en PHP, espero le pueda ser de ayuda a alguien ❤️

¿Qué es una variable?
En sencillas palabras, una variable es una parte de código que te permite guardar un dato. Un ejemplo puede ser una caja, en donde dentro de ellas guardamos cosas. La caja es la variable contenedora que tiene al objeto y las cosas que guardamos son los datos.

Para declarar una variable, siempre debe iniciar con una letra o un _ (guion bajo)
++ Ejemplos:++

$nombre = ‘Martin’;
$apellido = ‘Roldan’;

¿Cómo se pueden concatenar (agregarlas una al lado de otra) estas variables? Ejemplos:

  • Para concatenar, se puede logran coloconco un . entre cada una, pero hay diversas formas de hacerlo, aquí se ven dos:
$nombreCompleto = $nombre . $apellido;
$nombre = ‘Martin’ . $apellido;
$nombre = “Martin $apellido”

¿Notaste que había dos tipos de comillas entre las variables?

  • Las comillas simples (’ ') se interpretan como texto plano. Como por ejemplo, el nombre agregado en la variable $nombre.
  • Las comillas dobles (" ") intentan interpretar todo lo que encuentre dentro.

Complemento:
Si al nombrar una variable, esta posee mas de una palabra, la siguiente debe empezar con una mayúscula. Ejemplos:

$nombreCompleto;
$aguantePlatzi;
$tengoMuchaHambre;

Esto se debe hacer para seguir buenas practicas en la escritura del código. Precisamente, esta forma de nomenclatura se denomina **Camel Case **(es una de las tantas que hay, solo es de las mas utilizadas).
Les dejo un enlace por si quieren conocer mas de las demás. Click aquí

Eso de las variables variables nunca lo había escuchado, pero creo que es muy bueno saberlo, muy interesante el tema

//Variables variables
    $app = 'name';
    $name = 'platzi';

    echo $app;  // name
    echo $$app; // platzi

PHP: comparación y variables


<?php

// Comparación
/**
 * Para comparar elementos a nivel de valos
 * se utiliza doble igual. Ej:
 * '9' == 9 // El resultado seía: True
 * 
 * Para hacer una comparación exacta utilizamos
 * tres iguales, Aquí estamos comparando el valor
 * y el tipo. Ej:
 * 9 === 9 // El resultado seía: True
 * '9' === 9 // El resultado seía: False
 * 
 * Para visualizar diferencia utilizamos el signo !=
 * '9' !== 9 // El resultado seía: False
 * '9' !=== 9 // El resultado seía: True
 * 
 * También tenemos los signos de <, >, <=, >=
*/

// Variables variables
$app = 'name';
$name = 'platzi';

echo $app; // Nos imprime: name
echo $$app; // Nos imprime: platzi

En la práctica que tanto se suele usar Variables Variables?

6. Sintaxis básica de PHP: comparación y variables variables

Les comparto las notas que hice de esta clase!

En esta clase aprendimos sobre:

  1. Comparación: En PHP se puede comparar dos valores de dos maneras:
  • ==: Compara el valor pero no el tipo, por ejemplo:
//Esta sentencia es VERDADERA
9 == "9"
  • ===: Compara el valor y el tipo de dato, por ejemplo:
//Esta sentencia es FALSA, porque el primero es un número y el segundo no lo es
9 === "9"
  1. Variables variables: Pues aunque suena raro (y yo también acabo de aprenderlo), PHP permite asignar variables de dos maneras, usando el signo de dólar:
  • $: Esta es la manera normal, de acuerdo al valor que le asignes tendrá su tipo de dato, por ejemplo:
$name = "Carlos";
$age = 24;
  • $$: Pues esta es la manera que rara vez usarás pero se ve bastante interesante, lo que hace es que le dices que esa variable se va a llamar como el contenido de otra variable, ¿pero qué estás hablando?

Veámoslo:

$caller = "name";
$name = "Carlos";

// Este primer echo imprime: "name"
echo $caller;

// Pues este segundo echo imprime: "Carlos"
// Raro, ¿no? Es que lo que pasa es que internamente, estás diciendo
//que se imprima el contenido de una variable que se llame como el contenido de $caller
//¿y cuál es el contenido de $caller?, pues "name",
//¿y cuál es el contenido de $name? Pues "Carlos" :)
echo $$caller;

Les comparto el código de la clase:

// Comparación y variables

/** Comparación
 * Igual ==, valor '9' == 9 [compara solo valor]
 * Igual ===, valor y tipo, '9' === 9 [compara valor y tipo]
 * Diferencias !=, sirve para comparar valor
 * Diferencias !==, sirve para comparar TIPO y valor
 * <, >, <=, >=
 */

// Variables variables (no es un loop xD)
$app = "name";
$name = "platzi";

echo $app; // Imprime en pantalla "name"
echo $$app; // Imprime "Platzi", ¿por qué? Pues ahí va:
/** Al decir echo $app, decimos imprime el contenido de la variable $app
 * Pero si decimos echo $$app, decimos, imprime el contenido
 * de una variable que se llame como el contenido de la variable $app
 * y ¿cuál era el contenido de la variable $app? Pues "name", entonces,
 * practiamente, estamos diciendo: Imprime el contenido de la variable que se llame $name
 */

Recomiendo usar la extensión Code Runner:

Al seleeccionar un bloque de codigo y darle clic derecho podemos correr el bloque especifico y ver los resultados de los ejercicios.

🐘 Las variables variables en PHP nos permiten crear elementos de manera dinámica.

$people =  'brayan';
$brayan =  'developer';

echo $people;
echo $$people;

Wow, no conocía eso de las variables variables, se ve muy poderoso.

Mis notas.

<?php

//Asignacion

$num = 9;
$lang = [
  'es' => 'español',
  'en' => 'ingles'
];

// Aritmetica

echo 'Suma 2 + 2 ' . ((int) 2 + (int) 2);
echo 'Resta 2 - 2 ' . ((int) 2 - (int) 2);
echo 'Multiplica 2 * 2 ' . 2 * 2;
echo 'Divide 2 / 2 ' . 2 / 2;
echo 'Modulo 2 % 2 ' . 2 % 2;
echo 'Exponencial 2 ** 2 ' . 2 ** 2;

/*
  Comparación

  Igual ==, valor '9' == 9 --> Comparación de valores
  Igual ===, valor - tipo 9 === 9 --> Comparacion de valores y tipo de dato

  Diferencias !=, valor
  Diferencias !==, valor - tipo

  <, >, <=, >=
*/

//Variables variables, basicamente apartir de un valor se llama a  //una variable con el mismo nombre, en este caso usando $$ se //llama a la variable name haciendo uso del valor 'name'.

$app = 'name';
$name = 'Platzi';

echo $app; // output: name
echo $$app; // output: Platzi```

Variables variables
Nos permiten crear elementos de manera dinámica

Detalles como el de las variables variables son por lo que me gustan tanto los cursos de Italo.

En general, podemos usar el signo $ como un operador para obtener el valor de una variable, cuyo nombre sea lo que viene a continuación. Podemos usar varios operadores $ seguidos, siempre que las variables necesarias existan:

$app = 'name';
$name = 'platzi';
$platzi = 'lo mejor';

echo $app; // name
echo $$app; // platzi
echo $$$app; // lo mejor

Que sencillo lo hace ver el profe. A tomar apuntes.

Creo que ya hay muchos aportes acerca de las variables, pero quería dejarles el mío por aquí, espero les sirva de ayuda.
Variables
Las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa.
¿Cómo se declaran?
En PHP las variables se declaran de una manera distinta a otros lenguajes, para esto utilizamos el símbolo dólar seguido del nombre de la variable.
Ejemplo

$nombre = "Oscar";
$apellido = "Aguilar";

Comparación iguales:
-Para comparar dos valores que NO se requiera que sean exactamente iguales se utiliza un doble igual “==”.

  • Para comparar dos valores que se necesite que sean exactamente iguales tanto como su valor, como el tipo de dato se utiliza el triple igual “===”.

OMG!!!

Es interesante como las comparaciones es igual a Javascript pero el tema de variables variables me sorprendió que al diseñar el lenguaje hayan pesando en ese caso que se puede dar que un valor de una variable puede ser el nombre de otra variable.
Muy interesante 🚀

**Variables variables **

A veces es conveniente tener nombres de variables variables. Dicho de otro modo, son nombres de variables que se pueden definir y usar dinámicamente. Una variable normal se establece con una sentencia como:

<?php
	$a = 'hola';
?>

Una variable variable toma el valor de una variable y lo trata como el nombre de una variable. En el ejemplo anterior, hola, se puede usar como el nombre de una variable utilizando dos signos de dólar. Es decir:

<?php
	$$a = 'mundo';
?>

A este profesor no se le entiende nada, se ha saltado miles de pasos, desde las instalaciones… he hecho todos los cursos anteriores a esto, y la verdad es que no se entiende absolutamente nada.

Ahora entiendo cuando se usa: ===
igual valor y tipo de variable,

Gracias por el aporte

nuevamente, acabo de aprender algo nuevo:
variables variables:

$app = ‘name’;
$name = ‘platzi’;

$echo $app; // name
$echo $$app; // platzi

Gracias, Dios los bendiga

I’m Developer PHP

Las variables variables, son aquellos datos recursivos, que nos sirven para llamar variables desde otras, funciona al poner: $$pesos, al poner pesos con doble $, entonces lo primero que hace es llamar a su valor, que en este caso será: $dolar, lo que nos da un igual de $, pero recordando que utilizamos el $ dos veces nos queda: echo $dolar, como estamos mandando a llamar a una variable que se llama $dolar, entonces php empezará a buscar por esta, digamos que su valor es: 3000, por lo que entonces al final el echo nos mostrará: 3000

Si queremos mostrar las diferencias entre valores, tenemos que utilizar el !=, pero si queremos ser más estrictos entonces usamos el !==.

Para comparar igualdad de valores en PHP, usamos el doble igual o ==, pero si queremos comparar el valor y además el tipo, entonces podemos utilizar el triple igual ===, que nos dice si los valores y el tipo de dato es igual.

PHP es un lenguaje de tipado fuerte, o sea no se permiten violaciones de los tipos de datos, es decir, dado el valor de una variable de un tipo en especifico, no se puede usar como si fuera de otro tipo distinto a menos que se haga una conversión. 😃

Variables variables.

**Comparación y variables variables
**Se compara con == y si deseo hacer una comparación más exacta pondría === que tiene en cuenta el tipo de dato
Variables variables es cuando se usa doble $$ y traerá como nombre de variable el contenido de la primera variable

Las variables son espacios de memoría que reservamos para ocupar cierto valor.

|| Asignación
$nombre = valor;
Asignación arreglo
$nombre =
[
“nombre” => “valor”
]
|| Operación
Concatenar dos String .
Print resultado echo
Módulo %
Exponencial **

El valor de una variable forma la siguiente variable y nos da el valor de esta.

DATO CURIOSO
SI PONES

$app = ‘name’;
$name = ‘app’;
echo $$app;

IMPRIMIRA APP ESTO PORQUE SI PONES QUE IMPRIMA $APP PERO APP ES NAME PERO NAME ES APP ENTONCES ESCRIBIRA APP

PERO SI PONES :

$app = ‘name’;
$name = ‘app’;
echo $$$app;

ENTONCES … IMPRIMIRA APP Y COMO APP ES NAME IMPRIMIRA APP PERO COMO APP ES NAME ENTONCES IMPRIMIRA NAME

Siempre he tenido dudas o confusiones con los signos => y -> creo que el primero se usa para asignar valores en arrays y el segundo si no estoy mal para objetos. Ustedes me corregirán o lo concretaré mas adelante en este curso o en el de php orientado a objetos.

$name = 'Tester';

Les comparto mi GIT, donde estoy resolviendo los retos con el conocimiento adquirido hasta este punto. [(https://github.com/juanvjaramillo/retosprogramplatzi/tree/learn)]

Variables variables
se puede usan mas de una vez los $
` $Bar = “a”;
$Foo = “Bar”;
$World = “Foo”;
$Hello = “World”;
$a = “Hello”;

$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a`

Por si alguien le falta mas información aquí esta

https://www.php.net/manual/es/language.operators.php

Si sigo declarando dos variables, no veo para que puede servir la implementación de variables variables. No me quedo claro

Importante tener claro los conceptos de los operadores de comparación. Y en esta clase salí de dudas acerca de ellos.

Interesante el tema de Variables variables, aquí el ejemplo

$app = 'name';
$name = 'platzi';

echo 'Ejemplo vairable variable = ' . $$app;

+2

con esta clase entendí mejor lo que es la asignación.

SIGNOS
ARTITMETICOS:
Suma + , se debe especificar el tipo de dato numérico
Resta - se debe especificar el tipo de dato numérico
Multiplicación, división : * , /
Potencia n : valor ** potencia ( 2 ** 3 =8 )
Modulo : % . ejemplo 5%2 = 1 (residuo de la división , muy usado para determinar si un entero es par o impar, donde modulo= 0 implica que un valor el par)

Los operadores de comparación

== // Igualdad - Compara valor
=== // Identico - Compara valor y tipo
!= // Diferente
!== 
<
>
<=
>=

Interesante!

Aporte para comprender mejor == o ===

La clave es diferenciar las expresiones:

A==B A es igual B
A===B es idéntico que B

Cuando en una comparación utilizamos por ejemplo “7”==7, php internamente convierte el string en int y luego hace la comparación.

Esta comparación de ejemplo “7”==7, dará true a pesar de que a simple vista son ligeramente diferentes.

En el caso de === php hace la comparación tomando en cuenta el tipo de dato y el valor.

Siguiendo el ejemplo anterior: “7” === 7, dará false porque php no hace ninguna conversión de alguno de los dos valores, sino que compara directamente tomando en cuenta el tipo de dato y el valor.

Es muy importante conocer esto porque en ocasiones hay comparaciones que no nos dan el resultado esperado aunque al parecer todo está bien pero para php no jeje.

Un fuerte abrazo.

Muy interesante lo de variables variable. Gracias Italo por compartir.

un poco de notas:

<?php

// Asignación
$num = 9;

$lang = [
    //Asignacion array asociativo
    'es' => 'español',
    'en' => 'inglés'
];

//Aritmetica
//No es necesario usar   (int) ya que php entiende que se trata de una suma, resta etc
echo "Suma 2 + 2" . ((int) 2 + (int) 2);
echo "Resta 2 - 2" . ((int) 2 - (int) 2);
echo "Multiplicación 2 * 2" . 2 * 2;
echo "División 2 / 2" .  2 / 2;
echo "Módulo 2 % 2" .  2 % 2;
echo "Exponcencial 2 ** 2" .  2 ** 2;

//Comparación

//igual ==, valor '9' == 9 //true
//igual ===, valor - tipo '9' === 9 //false
//Diferencias !=, valor
//Diferencias !==, valor - tipo

//variables variables
$app = 'nameApp'; //nameApp
$nameApp = 'platzi';
echo $$app; // platzi

Para comparar elementos a nivel de valor se utiliza el doble igual ( == ), para comparar a nivel de valor y tipo se utiliza el triple igual ( === ).

De la misma forma existen operadores para saber si hay diferencias, a nivel de valor se usa != y para comparar el valor y el tipo se utiliza !== .

No pueden faltar los operadores de mayor que (>), menor que, (<) mayor o igual (>=) y menor o igual (<=).

Las variables variables son nombres de variables que se pueden definir y usar dinámicamente.
Una variable variable toma el valor de una variable y lo trata como el nombre de una variable

Ejemplo:

<code>

?php
$a = ‘hola’;
$$a = ‘mundo’;
?>

En el ejemplo anterior, “hola” se puede usar como el nombre de una variable utilizando dos signos de dólar. De tal manera que se han definido y almacenado dos variables en el árbol de símbolos de PHP:
$a que contiene “hola”
$hola que contiene “mundo”

Por lo cual las siguientes dos sentencias serán equivalentes:

<code>

?php
echo “$a ${$a}”;
?
<code>
?php
echo “$a $hola”;
?

Perfecto!

variables variables es una locura!

Vengo de java y se me hace fácil asimilarlo, gracias profe


// Comparacion 

// Igual ==, valor '9' == 9 
// Igual ===, valor - tipo 9 === 9, 
// Diferencias !=, valor 
// Diferencias !==, valor - tipo 
// <, > <= >= 

// Variables variables 
$app = 'name';
$name = 'platzi';

echo $app; // name 
echo $$app; // platzi ```

Excelente entendido todo solo falta poner en practica eso de valor dinámico.

una vez más, que excelente clase

Curioso lo de $$app

Llevo años trabajando con PHP y nunca he usado eso, realmente no le encuentro ahora mismo utilidad real en guardar el nombre de una variable en otra.

¿alguien me puede decir un caso de uso?

entendido

Jamas habia escuchado de variables variables y mas o menos me doy una idea de cómo funciona…
Me parece que he visto esa implementacion en Yii framwork pero hasta ahora entiendo como funciona eso.
Muchas gracias por el material,

¿Qué es una variable?
Espacios reservados en memoria para poder almacenar datos.

¿Qué datos puedo almacenar?
Existen varios tipos de datos que podemos almacenar dentro de una variable, como por ejemplo:

  • números enteros
  • números flotantes
  • cadenas de texto
  • valores booleanos
  • vectores
  • objetos

¿Cómo creo una variable?
El proceso de creación de una variable tiene 2 partes:

  • Declaración
  • Asignación
    Se debe hacer primero la declaración, posteriormente la asignación de lo que va contener esa variable.
    Las variables en PHP deben iniciar con el signo de dolar “$” y posteriormente un nombre que describa el valor que contendrá dicha variable.
$nombre = "Isaí";	// cadena de texto
$edad = 26;	// entero
$tieneLicencia = true;	// booleano
$pasatiempos = ["programar","leer","correr"];		// vector o array

Concatenación de variables
Concatenar quiere decir que vamos a unir dos valores en una misma cadena.
Para ello, utilizamos el símbolo “.” (punto) para poder generar una cadena de

echo "Mi nombre es ".$nombre." y tengo ".$edad." años";

Vamos bien

Acabo de aprender que en los vídeos sólo te dan la harina, pero en Aportes aprendo por ustedes cómo preparar el bizcocho. Muchas gracias a todos por sus comentarios que me son tan necesarios 😃

No sé que le pasó al maestro Italo M., en este curso. Desde mi perspectiva ha dejado muchos huecos. Pero en fin sus cursos en su canal son muy buenos, no entiendo que ha pasado acá.

🤯🤯 Variables variables