Por cierto ¿Qué son los michis? 😃
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 en PHP
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
Revisaremos el reto de la clase Qué es el Casting en PHP. Estaba dividido en 3 niveles y constaba en determinar los tipos de datos de una lista de variables.
Los tipos de datos de este nivel son sencillos de determinar, puesto que son muy explícitos:
<?php
//Fácil
$nombre = "Carlos"; # String
$apellido = "Gómez"; # String
$edad = 18; # Integer
$aprobado = true; # Boolean
Tenemos las siguientes 3 variables:
<?php
//Medio
# 1.
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; # Decimal o Float
# 2.
$nombre_completo = $nombre . " " . $apellido; # String
# 3.
$presento_examen = (bool) 1; # Boolean
9.5
en este caso) o alguna división (/5
) en la operación para que se convierta la variable ($promedio
) a tipo float
.$nombre
y $apellido
son de tipo String
al igual que la cadena que contiene un espacio (" "
) por tanto, el tipo de dato final de la variable $nombre_completo
es de tipo String
.$presento_examen
es un integer que será convertido (casting) a tipo booleano.Estos 4 casos poseen un poco más de dificultad:
<?php
//Avanzado
# 1.
$numero_preguntas = 5 + "5"; #Integer
# 2.
$numero_respuestas = "5" + 5; # Integer
# 3.
$promedio_maximo = $numero_respuestas / 1.0; # Decimal o Float
# 4.
$michis = 3 + "5 michis"; # Integer (con Warning)
String
en integer siempre y cuando el valor entre las comillas sea solo un número o empiece con un número. Por tanto, el tipo de dato de $numero_preguntas
será integer después de la suma (5 + 5 = 10
)."5"
). La variable $numero_respuestas
será de tipo integer, pues, la operación matemática es entre 2 integer.$promedio_maximo
será convertido a float
, pues, el intérprete de PHP no sabe cuantos decimales tendrá el resultado de esta división previo a realizar la operación, por ello realiza esa conversión.String
se encuentre al principio. Finalmente, al ser los 2 números a sumar de tipo integer (3 + 5 = 8
), el tipo de dato de $michis
será también integer. En este contexto siempre te mostrará un aviso (Warning).Contribución creada por: Martín Álvarez.
Aportes 29
Preguntas 3
Por cierto ¿Qué son los michis? 😃
michis
Para ir comenzando con PHP, las clases han sido muy buenas que he logrado entender hasta el momento todo lo mostrado.
Así me fue identificando los tipos de datos.
Solo que yo al Integer lo llame int pero de ahí en fuera todo bien 😃
Me adelanto por si a alguien le gusta el tema que estoy usando, es: SynthWave '84
Así quedo mi reto:
🤓 Les vengo a recomendar una extensión de VSCode que nos ayuda a correr varios lenguajes de programación en la misma salida del editor. Se llama Code Runner y la pueden descargar aquí en el Marketplace de VSC
Das click derecho en el editor de código o seleccionas la parte del código que quieres ejecutar, y presionas en Run code
Y verás la salida de texto en la parte posterior del editor.
Espero les haya servido.
<?php
//Fácil
$nombre = "Carlos"; //String
$apellido = "Gómez"; //String
$edad = 18; // int
$aprobado = true; // bool
//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) /5; //float
$nombre_completo = $nombre." ".$apellido; //string
$presento_examen = (bool)1; //bool(true)
//Avanzado
$numero_preguntas = 5+ "5"; //int(10)
$numero_respuestas = "5" + 5; //int(10)
$promedio_maximo = $numero_respuestas / 1.0; //float(10), solo porque se divide en 1.0, si fuera 1, sería int
$michis = 3 + "5 michis"; //int(8) (con Warning)
//testear resultados:
var_dump($promedio_maximo);
me ha gustado como explica este profe
Excelente Curso! 👏😀
Me salio todo bien 😃
Como dato extra, si uno en $promedio_maximo en vez de poner 1.0, utiliza 1, la división da exacta y el valor es integer, php cuando obtiene valores enteros como respuesta de división los convierte a integer.
// en este ejemplo da el tipo de dato //
$nombre = “Carlos”;
var_dump ($nombre);
$apellido = “Gómez”;
var_dump ($apellido);
$edad = 18;
var_dump ($edad);
$aprobado = true;
var_dump ($aprobado);
//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;
var_dump($promedio);
$nombre_completo = $nombre . " " . $apellido;
var_dump($nombre_completo);
$presento_examen = (bool) 1;
var_dump($presento_examen);
//Avanzado
$numero_preguntas = 5 + “5”;
var_dump($numero_preguntas);
$numero_respuestas = “5” + 5;
var_dump($numero_respuestas);
$promedio_maximo = $numero_respuestas / 1.0;
var_dump($promedio_maximo);
$michis = 3 + “5 michis”;
var_dump($michis);
//RESPUESTAS
" string(6) “Carlos” string(6) “Gómez” int(18) bool(true) float(8.9) string(13) “Carlos Gómez” bool(true) int(10) int(10) float(10)
Warning: A non-numeric value encountered in
int(8) "
$nombre = ‘Carlos’;
$apellido = ‘Gomez’;
$edad = 18;
$aprodado = true;
echo var_dump($nombre);
echo var_dump($apellido."<br>");
echo var_dump($edad."<br>");
echo var_dump($aprodado."<br>") ;
echo “<hr>”;
$promedio = (8 + 9.5+9+10+8)/5;
$nombre_completo = $nombre . " ".$apellido;
$presento_examen = (bool) 1;
echo var_dump($promedio."<br>");
echo var_dump($nombre_completo."<br>");
echo var_dump($presento_examen."<br>");
// Termina:
string(6) “Carlos” string(9) “Gomez
” string(6) “18
” string(5) "1
"
string(7) “8.9
” string(16) “Carlos Gomez
” string(5) "1
Me fue super biennn🙂😄
Sin problemas por ahora 💚
El profe dice algo que no es del todo cierto, pero si es muy muy posible. Las divisiones si pueden dar int
$a = 9;
$b = 3;
$div = $a / $b;
var_dump($div);
//imprime: int(3)
Me parece mejor tener un operador de concatenación aparte, y no que sea el de suma.
De locos el tema de poder sumar un numero cualquiera con una cadena siempre y cuando esta posea un numero en ella
Gracias por dedicarle una clase al reto, en otros cursos ni siquiera dando respuestas de los retos:)
Dejo por acá mi solución al desafío.
<$nombre = "Carlos"; // String
$apellido = "Gómez"; // String
$edad = 18; // Integer
$aprobado = true // Boolean
$promedio =(8 + 9.5 + 9 + 10 + 8) / 5; // Float
$nombre_completo = $nombre . " " . $apellido; // String
$presento_examen = (bool) 1; // Boolean
$numero_preguntas = 5 + "5"; // Integer
$numero_respuestas = "5" + 5; // Integer
$promedio_maximo = $numero_respuestas / 1.0; // Float
$michis = 3 + "5 michis"; // Integer>
ya no se cual es mi profe favorito de proge, si el o facundo
<?php
//Fácil
$nombre = "Carlos";
var_dump($nombre);
echo"\n";
$apellido = "Gómez";
var_dump($apellido);
echo"\n";
$edad = 18;
var_dump($edad);
echo"\n";
$aprobado = true;
var_dump($aprobado);
echo"\n";
//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;
var_dump($promedio);
echo"\n";
$nombre_completo = $nombre . " " . $apellido;
var_dump($nombre_completo);
echo"\n";
$presento_examen = (bool) 1;
var_dump($presento_examen);
echo"\n";
//Avanzado
$numero_preguntas = 5 + "5";
var_dump($numero_preguntas);
echo"\n";
$numero_respuestas = "5" + 5;
var_dump($numero_respuestas);
echo"\n";
$promedio_maximo = $numero_respuestas / 1.0;
var_dump($promedio_maximo);
echo"\n";
$michis = 3 + "5 michis";
var_dump($michis);
echo"\n";
?>
Para quien quiera probar
<?php
//Facil
$name = “Didier”; //String
$lastname = “Peña”; //String
$age = “23”; //Integer
$passed = true; //Boolean
//Medio
$average = (8 + 9.5 + 9 + 10 + 8) /5; //Decimal
$full_name = $name . " " . $lastname; //String
$submitted_exam = (bool) 1; //Boolean
//Avanzado
$number_questions = 5 + “5”; //Integer
$number_answers = “5” + 5; //Integer
$maximum_average = $number_answers / 2; //Decimal
$michis = 3 + “5 michis”; //Integer (with warning)
echo $name . “\n”;
echo $lastname . “\n”;
echo $age . “\n”;
echo $passed . “\n”;
echo $average . “\n”;
echo $full_name . “\n”;
echo $submitted_exam . “\n”;
echo $number_questions . “\n”;
echo $number_answers . “\n”;
echo $maximum_average . “\n”;
echo $michis . “\n”;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?