No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué es el casting?

13/24
Recursos

Casting es cuando forzamos que un tipo de dato se convierta en otro tipo de dato.

<?php
$numerito_string = "5"; // Esto es un string
$numerito_int = (int) $numerito_string; // Esto es un integer

Casting de float a integer

Aquí lo que hace el casting no es redondear el número, sino quitarle la parte decimal:

<?php
$dias = 5.89; // Esto es un float
$dias = (int) $dias; // Esto es un integer

var_dump( $dias ); // Detalles de la variable
echo "\n"; // Salto de línea

/*
Mensaje en la consola/navegador: 
int(5)
*/

Casting de un tipo de dato a boolean

Toda variable que sea de valor 0 o vacío ("") tendrá el valor de false, de lo contrario para cualquier otro caso será true:

<?php
$banderita = 0; // Integer. Puede ser "" e igual será false
$banderita = (bool) $banderita; // Casting de integer a boolean

var_dump($banderita); // Detalles de la variable
echo "\n"; // Salto de línea

/*
Mensaje en la consola/navegador: 
bool(false)
*/
<?php
$banderita = 55; // Integer. Puder ser cualquier numero o String e igual será true
$banderita = (bool) $banderita; // Casting de  a boolean

var_dump($banderita); // Detalles de la variable
echo "\n"; // Salto de línea

/*
Mensaje en la consola/navegador: 
bool(true)
*/

Reto: análisis de tipado en PHP

¿Qué tipo de dato son las siguientes variables? ¡Déjalo en la sección de aportes de la clase!

<?php
//Fácil
$nombre = "Carlos";
$apellido = "Gómez";
$edad = 18;
$aprobado = true;

//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;
$nombre_completo = $nombre . " " . $apellido;
$presento_examen = (bool) 1;

//Avanzado
$numero_preguntas = 5 + "5";
$numero_respuestas = "5" + 5;
$promedio_maximo = $numero_respuestas / 1.0;
$michis = 3 + "5 michis";

Contribución creada por: Martín Álvarez con el aporte de Adriano Corral Marco

Aportes 122

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

La imagen del reto no se ve. Les dejo las variables para que puedan hacer el ejercicio:

//Fácil

$nombre = "Carlos";
$apellido = "Gómez";
$edad = 18;
$aprobado = true;

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;
$nombre_completo = $nombre . " " . $apellido;
$presento_examen = (bool) 1;

//Avanzado

$numero_preguntas = 5 + "5";
$numero_respuestas = "5" + 5;
$promedio_maximo = $numero_respuestas / 1.0;
$michis = 3 + "5 michis";

Hay un error en la parte final del video, cuando pregunta que tipos de datos hay en la imagen y no se ve ninguna imagen

Casting

El Casting es la manera de indicar al interprete de PHP para forzar el cambio de un tipo de dato a otro deseado. Se puede acceder a esta utilidad anteponiendo el tipo de dato entre paréntesis antes de un valor o una variable al momento de la asignación o inicialización.

Las siguientes definiciones ayudan a forzar el cambio de tipos en PHP:

  • (array) forzado al tipo arreglo
  • (bool) forzado al tipo booleano
  • (boolean) forzado al tipo booleano
  • (double) forzado al tipo ‘punto flotante’
  • (float) forzado al tipo ‘punto flotante’
  • (int) forzado al tipo entero
  • (integer) forzado al tipo entero
  • (object) forzado al tipo objeto
  • (string) forzado al tipo ‘cadena de texto’

A continuación, se muestra un par de ejemplos de lo mencionado:

$var_3 = "5";  // string(1) "5"
$var_4 = (int) $var_3;  // int(5)
$flag = 1;  // int(1)
$flag = (bool) $flag;  // bool(true)

Los siguientes forzados de tipos están permitidos:

(int), (integer) - forzado a integer
(bool), (boolean) - forzado a boolean
(float), (double), (real) - forzado a float
(string) - forzado a string
(array) - forzado a array
(object) - forzado a object
(unset) - forzado a NULL (PHP 5)

fake cuando toma cafe

Los casting permitidos en PHP son:
(int), (integer) - cast to int
(bool), (boolean) - cast to bool
(float), (double), (real) - cast to float
(string) - cast to string
(array) - cast to array
(object) - cast to object
(unset) - cast to NULL

Aquí mi solución 😄

Mi solucion:

//Fácil

$nombre = “Carlos”; [ string ]
$apellido = “Gómez”; [ string ]
$edad = 18; [ integer ]
$aprobado = true; [ boolean ]

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; [ float ]
$nombre_completo = $nombre . " " . $apellido; [ string ]
$presento_examen = (bool) 1; [ boolean ]

//Avanzado

$numero_preguntas = 5 + “5”; [ integer ]
$numero_respuestas = “5” + 5; [ integer ]
$promedio_maximo = $numero_respuestas / 1.0; [ float ]
$michis = 3 + “5 michis”; [ integer ]```

//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

//Avanzado
$numero_preguntas = 5 + “5”; //int
$numero_respuestas = “5” + 5; //int
$promedio_maximo = $numero_respuestas / 1.0; //float
$michis = 3 + “5 michis”; //int

El casting en el lenguaje php es clave, excelente clase

leyendo al documentación pude dar con la siguiente respuesta:

$data = array($nombre, $apellido, $edad, $aprobado, $promedio, $promedio2, $nombre_completo, $presento_examen, $numero_preguntas, $numero_respuestas, $promedio_maximo, $michis);

foreach ($data as $value) {
    
    echo "los valor son de tipo ", gettype($value), "\n";
} 


//respuestas

los valor son de tipo string
los valor son de tipo string
los valor son de tipo integer
los valor son de tipo boolean
los valor son de tipo double
los valor son de tipo double
los valor son de tipo string
los valor son de tipo boolean
los valor son de tipo integer
los valor son de tipo integer
los valor son de tipo double
los valor son de tipo integer

![](

$nombre string $apellido string $edad integer $aprobado bool $promedio float $nombre\_completo string $presento\_examen bool $numero\_preguntas integer $numero de respuestas integer $promedio\_maximo float $michis integer
```html ---- FÁCIL ---- string(6) "Carlos" string(6) "Gómes" int(18) bool(true) ---- MEDIO ---- float(8.9) string(13) "Carlos Gómes" bool(true) ---- AVANZADO ---- int(10) int(10) float(10) int(8) Warning: A non-numeric value encountered ```---- FÁCIL ---- string(6) "Carlos" string(6) "Gómes" int(18) bool(true) \---- MEDIO ---- float(8.9) string(13) "Carlos Gómes" bool(true) \---- AVANZADO ---- Warning: A non-numeric value encountered in C:\proyect\temp\_php\p1\platzi\_php\_basico\debug.php on line 85 int(10) int(10) float(10) int(8)
$nombre = string; $apellido = string; $edad = int; $aprobado = bool; $promedio = float; $nombre\_completo = string; $presento\_exmen = bool (true); $numero\_pregunts = int; $numero\_respuestas = int; $prmedio\_maximo = float; $michis = int
//Facil $nombre = "Carlos" ; //string $apellido = "Gomez" ; //string $edad = 18; //integer $aprobado = true ; //boolean //Medio $promedio = (8+9.5+9+10+8)/5; //float $nombre_completo = $nombre . " ". $apellido; //string $presento_examen = (bool) 1; //boolean true //Avanzado $numero_preguntas = 5 + "5"; //integer $numero_respuestas = "5" + 5; //integer $promedio_maximo = $numero_respuestas / 1.0; //integer $mi his = 3 + "5 michis" ; //integer Tengo dudas en el avanzado respecto al promedio máximo pero creo que si es integer, quise responder sin hacer una prueba en mi pc antes para ver si de verdad entendí la teoría, de igual forma probare y si me equivoqué pondré aquí el resultado real solo donde me equivoque 😌
Mando los tipos que veo de la imagen **FACIL** $nombre -> string(6) $apellido -> string(5) $edad -> int(18) $aprobado -> bool(true) **MEDIO** $promedio-> float(8.9) (veo que saca hasta 15 decimales) $nombre\_completo -> string(12) (la suma de los string mas uno por el espacio) $presento\_examen -> bool(True) **AVANZADO** $numero\_preguntas -> int(10) $numero\_respuestas -> int(10) $promedio\_maximo -> float(10) (interesante que dividirlo por 1.0 lo cambie a float) $michis -> int(8) pero mandara un warning
Mi solución al Reto: ![](https://static.platzi.com/media/user_upload/image-f1559723-4a49-41c8-ab25-41aa2ae57ef0.jpg)
```html ```// Facil$nombre = "Jairo";$apellido = "Pinto";$edad = 18;$aprobado = true; var\_dump() // Medio$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;$nombre\_completo = $nombre . " " . $apellido;$presento\_examen = (bool) 1; // Avanzado$numero\_preguntas = 5 + "5";$numero\_respuestas = "5" + 5;$promedio\_maximo = $numero\_respuestas / 1.0;$michis = 3 + "5 michis";
`
yo lo ise asi, espero este bien eel metodo para saber que tipos de datos son a la final. ![](https://static.platzi.com/media/user_upload/image-e6d77684-4a94-4981-b659-c2822f236799.jpg)
Mi Solución :D ![](https://static.platzi.com/media/user_upload/image-34b15ccc-df09-4aa6-9814-c5038726bc2c.jpg)
```txt //facil $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 //Avanzado $numero_preguntas = 5 + "5"; //int $numero_respuestas = "5" + 5; //int $promedio_maximo = $numero_respuestas / 1.0; //float $michis = 3 + "5 michis"; //int pero con warning ```Ya en los mas dificiles solamente me quede con duda en las ultimas 2 xD por lo que hice var\_dump en las demas para ver que estaba correcto en la respuesta :D
Reto Casting Facil: $nombre= string $apellido= string $edad= int $aprobado= boolean Medio: $promedio= float $nombre\_completo= string $presento\_examen= boolean Avanzado: $numero\_preguntas= int $numero\_respuestas= int $promedio\_maximo= int $michis= int

Esta es mi respuesta al reto:

$nombre = "Carlos"; //String
$apellido = "Gómez"; //String
$edad = 18; // Integer
$aprobado = true; //Boolean 

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; //Float 
$nombre_completo = $nombre . " " . $apellido; //String
$presento_examen = (bool) 1; //Boolean: true

//Avanzado

$numero_preguntas = 5 + "5"; //Integer
$numero_respuestas = "5" + 5; //Integer
$promedio_maximo = $numero_respuestas / 1.0; //float
$michis = 3 + "5 michis"; //Integer
*// El casting en PHP se refiere a la conversión de un tipo de dato a otro.* *// Esto se puede hacer de forma explícita utilizando funciones de casting o de forma implícita mediante operaciones o asignaciones* *// Por ejemplo, se puede convertir una variable de tipo string a int utilizando la función (int) o (integer).* *// El casting es útil cuando se necesita realizar operaciones o comparaciones entre diferentes tipos de datos.* `$numero = "10";` `$numero2 = 3.1416;` *//\* vemos el tipo de dato y el valor de la variable* `var_dump($numero);var_dump($numero2);` *//\* Convertir de string a int* `$numero = (int) $numero; ` *-> el resultado es 10 pero el tipo de dato es* `int``$numero2 = (int) $numero2;` -> *el resultado es 3 ya que al usar casting no redondea los numeros* $numero\_pregunta = 5 + "5"; *//\* el tipo de dato es int y el resultado es 10.*

//Fácil
$nombre = “Carlos”; --------> String
$apellido = “Gómez”;--------> String
$edad = 18;---------> Integer
$aprobado = true;-------> Bool

//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;-------> Float
$nombre_completo = $nombre . " " . $apellido;------> String
$presento_examen = (bool) 1;-----> Boolean

//Avanzado
$numero_preguntas = 5 + “5”;--------> Integer
$numero_respuestas = “5” + 5;----------> Integer
$promedio_maximo = $numero_respuestas / 1.0;------> Float
$michis = 3 + “5 michis”;--------> Warning

$nombre(string)
$apellido(string)
$edad(int)
$aprobado(bool)
$promedio(float)
$nombre_completo(string)
$presento_examen(bool)
$numero_preguntas(int)
$numero_respuestas(int)
$promedio_maximo(float)
$michis(int) + warning

```c#
```js Esta es una prueba de casting para el curso de platzi
El nombre del usuario es: $nombre
La edad es: $edad
Su profesion es: $profesion
"); ```\Esta es una prueba de casting para el curso de platzi\ \
El nombre del usuario es: $nombre \
La edad es: $edad \
Su profesion es: $profesion \
");
Hola también descubrí que podemos forzar el valor en la misma linea donde declaramos la variable por ejemplo: `Esta es una prueba de casting para el curso de platzi
El nombre del usuario es: $nombre
La edad es: $edad
Su profesion es: $profesion
");`
//Fácil $nombre = "Carlos"; //string $apellido = "Gómez"; //string $edad = 18; //int $aprobado = true; //boolean //Medio $promedio = (8 + 9.5 + 9 + 10 + 8) / 5; //float $nombre\_completo = $nombre . " " . $apellido; //string $presento\_examen = (bool) 1; //boolean //Avanzado $numero\_preguntas = 5 + "5"; //int $numero\_respuestas = "5" + 5; //int $promedio\_maximo = $numero\_respuestas / 1.0; //float $michis = 3 + "5 michis"; //int
![](/home/ubuntu/Descargas/reto1)

Mi solución:

//Fácil$nombre = "Carlos";$apellido = "Gómez";$edad = 18;$aprobado = true; echo "\
";var\_dump( $nombre );echo "\
";var\_dump( $apellido );echo "\
";var\_dump( $edad );echo "\
";var\_dump( $aprobado ); //Medio$promedio = (8 + 9.5 + 9 + 10 + 8) / 5 ;$nombre\_completo = $nombre . " " . $apellido;$presento\_examen = (bool) 1; echo "\
";var\_dump( $promedio );echo "\
";var\_dump( $nombre\_completo );echo "\
";var\_dump( $presento\_examen );echo "\
"; //Avanzado$numero\_preguntas = 5 + "5";$numero\_respuestas = "5" + 5;$promedio\_maximo = $numero\_respuestas / 1.0;$michis = 3 + "5 michis"; echo "\
";var\_dump( $numero\_preguntas );echo "\
";var\_dump( $numero\_respuestas );echo "\
";var\_dump( $promedio\_maximo );echo "\
";var\_dump($michis); //respuesta string(6) "Carlos" string(6) "Gómez" int(18) bool(true) float(8.9) string(13) "Carlos Gómez" bool(true) **Warning**: A non-numeric value encountered in **C:\xampp\htdocs\practicaphp\casting.php** on line **57** int(10) int(10) float(10) int(8)
Que tipos de datos son: $nombre : string(6) "carlos" $apellido : string(5) "Gomez" $edad : int(18) $aprobado : bool(true) $promedio : float(8.9) $nombre\_completo : string(12) "carlos Gomez" $presento\_examen : bool(true) $numero\_preguntas : int(10) $numero\_respuestas : int(10) $promedio\_maximo : float(10) $michis : int(8) => PHP Warning: A non-numeric value encountered in /var/www/html/CURSO-PHP/casting.php on line 36
<php
// facil
$nombre = “carlos”; // tipo string
$apellido = “Gomez”; // tipo string
$edad = 18; // tipo int
$aprobado = true; // tipo boolean
// medio
$promedio = ( 8 + 9.5 + 9 + 10 + 8) / 5; // tipo float
$nombre_completo = $nombre . " " . $apellido; // tipo string
$presento_examen = (bool) 1; // tipo boolean
// avanzado
$numero_preguntas = 5 + “5”; // tipo int
$numero_respuestas = “5” + 5; // tipo int
$promedio_maximo = $numero_respuestas / 1.0; // tipo float
$michis = 3 + "5 michis "; // tipo int> 
envio el codigo con su respectivo var\_dump. ```js $nombre = "Carlos"; $apellido = "Gómez"; $edad = 18; $aprobado = true; //Medio $promedio = (8 + 9.5 + 9 + 10 + 8) / 5; $nombre_completo = $nombre . " " . $apellido; $presento_examen = (bool) 0; //Avanzado $numero_preguntas = 5 + "5"; $numero_respuestas = "5" + 5; $promedio_maximo = $numero_respuestas / 1.0; $michis = 3 + "5 michis"; var_dump( $promedio); var_dump($nombre_completo ); var_dump($presento_examen); var_dump($numero_preguntas); var_dump($numero_respuestas); var_dump($promedio_maximo); var_dump($michis); ```$nombre = "Carlos";$apellido = "Gómez";$edad = 18;$aprobado = true; //Medio $promedio = (8 + 9.5 + 9 + 10 + 8) / 5;$nombre\_completo = $nombre . " " . $apellido;$presento\_examen = (bool) 0; //Avanzado $numero\_preguntas = 5 + "5";$numero\_respuestas = "5" + 5;$promedio\_maximo = $numero\_respuestas / 1.0;$michis = 3 + "5 michis"; var\_dump( $promedio);var\_dump($nombre\_completo );var\_dump($presento\_examen);var\_dump($numero\_preguntas);var\_dump($numero\_respuestas);var\_dump($promedio\_maximo);var\_dump($michis);
//facil str str int bool //medio float str bool //avanzado int int float int
¡Ejercicio resuelto! Fácil: **$nombre** es tipo <u>string</u> **$apellido** es tipo <u>string</u> **$edad** es tipo <u>int</u> **$aprobado** es tipo <u>booleano</u> Medio: **$promedio** es tipo <u>float</u> **$nombre\_completo** es tipo <u>string</u> **$presento\_examen** es tipo <u>booleano</u> Avanzado: **$numero\_preguntas** es tipo <u>int</u> **$numero\_respuestas** es tipo <u>int</u> **$promedio\_maximo** es tipo <u>float</u> **$michis** es tipo <u>int</u>
<?php
//Fácil
$nombre = "Carlos";					            // Tipo string
$apellido = "Gómez";					        // Tipo string
$edad = 18;						                // Tipo integer
$aprobado = true;					            // Tipo booleano

//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;		    // Tipo float
$nombre_completo = $nombre . " " . $apellido;	// Tipo string
$presento_examen = (bool) 1;				    // Tipo booleano

//Avanzado
$numero_preguntas = 5 + "5";				    // Tipo int
$numero_respuestas = "5" + 5;				    // Tipo int
$promedio_maximo = $numero_respuestas / 1.0;	// Tipo float
$michis = 3 + "5 michis";				        // Tipo int
\

¿Qué es el casting en PHP?

.
El casting en PHP se refiere a la conversión de un valor de un tipo de datos a otro. En PHP, el casting se puede realizar de forma implícita o explícita. La conversión implícita se realiza automáticamente por el lenguaje, mientras que la conversión explícita se realiza mediante la función de casting apropiada.
.

¿Cómo funciona el casting en PHP?

El casting explícito en PHP se realiza utilizando una de las siguientes funciones de casting:

  • (bool): convierte un valor a un booleano
  • (int): convierte un valor a un entero
  • (float): convierte un valor a un número de punto flotante
  • (string): convierte un valor a una cadena de texto
  • (array): convierte un valor a un arreglo
  • (object): convierte un valor a un objeto

.

Conversión de un valor a un booleano:

$value = "hello";
$boolValue = (bool) $value;
var_dump($boolValue); // bool(true)

$value = 0;
$boolValue = (bool) $value;
var_dump($boolValue); // bool(false)

Conversión de un valor a un entero:

$value = "123";
$intValue = (int) $value;
var_dump($intValue); // int(123)

$value = 12.34;
$intValue = (int) $value;
var_dump($intValue); // int(12)

Conversión de un valor a un número de punto flotante:

$value = "12.34";
$floatValue = (float) $value;
var_dump($floatValue); // float(12.34)

$value = 123;
$floatValue = (float) $value;
var_dump($floatValue); // float(123)

Conversión de un valor a una cadena de texto:

$value = 123;
$stringValue = (string) $value;
var_dump($stringValue); // string(3) "123"

$value = true;
$stringValue = (string) $value;
var_dump($stringValue); // string(1) "1"

Conversión de un valor a un arreglo:

$value = "1,2,3";
$arrayValue = (array) $value;
var_dump($arrayValue); // array(1) { [0]=> string(5) "1,2,3" }

$value = 123;
$arrayValue = (array) $value;
var_dump($arrayValue); // array(1) { [0]=> int(123) }

Conversión de un valor a un objeto:

$value = array("name" => "John", "age" => 30);
$objectValue = (object) $value;
var_dump($objectValue); // object(stdClass)#1 (2) { ["name"]=> string(4) "John" ["age"]=> int(30) }

$value = 123;
$objectValue = (object) $value;
var_dump($objectValue); // object(stdClass)#1 (1) { ["scalar"]=> int(123) }

En resumen, el casting en PHP se utiliza para convertir un valor de un tipo de datos a otro. Las conversiones se pueden realizar de forma implícita o explícita, y se utilizan funciones de casting específicas para realizar conversiones explícitas.

RETO
¿Qué tipo de dato son las siguientes variables?

//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

//Avanzado

$numero_preguntas = 5 + "5";		// int
$numero_respuestas = "5" + 5;		// int
$promedio_maximo = $numero_respuestas / 1.0;		// float
$michis = 3 + "5 michis";		// int

Mi solucion del reto

//Fácil

$nombre = "Carlos"; //String
$apellido = "Gómez"; //String
$edad = 18; //Int
$aprobado = true; //Boolean

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // Float
$nombre_completo = $nombre . " " . $apellido; // String
$presento_examen = (bool) 1; // Boolean

//Avanzado

$numero_preguntas = 5 + "5"; // Int
$numero_respuestas = "5" + 5; // Int
$promedio_maximo = $numero_respuestas / 1.0; // Float
$michis = 3 + "5 michis"; // Error al tener mas texto en la cadena y al final un Int
//Solución

//Fácil

$nombre = “Carlos”; [string]
$apellido = “Gómez”; [string]
$edad = 18; [integer]
$aprobado = true; [boolean]

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; [float]
$nombre_completo = $nombre . " " . $apellido; [string]
$presento_examen = (bool) 1; [boolean]

//Avanzado

$numero_preguntas = 5 + “5”; [integer]
$numero_respuestas = “5” + 5; [integer]
$promedio_maximo = $numero_respuestas / 1.0; [float]
$michis = 3 + “5 michis”; [integer]

//Facil
$nombre = str
$apellido = str
$edad = integer
$aprobado = booleano

//medio
$promedio = float
$nombre_completo = str
$presento_examen = true

//avanzado:
$numero_preguntas = int
$numero_respuestas = int
$promedio_maximo = int
$michis = int

//Fácil

$nombre = "Carlos";   // String
$apellido = "Gómez";   // String
$edad = 18; // int
$aprobado = true; //booleano

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // float
$nombre_completo = $nombre . " " . $apellido;  // String
$presento_examen = (bool) 1; //booleano

//Avanzado

$numero_preguntas = 5 + "5";  // int
$numero_respuestas = "5" + 5; // int
$promedio_maximo = $numero_respuestas / 1.0; // float
$michis = 3 + "5 michis";  // int, donde se tiene encuenta que esto da error en php ya que se esta combinando string con int

10/11 Me equivoque en el penultimo:

//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

//Avanzado
$numero_preguntas = 5 + "5";	// int
$numero_respuestas = "5" + 5;	// int
$promedio_maximo = $numero_respuestas / 1.0;
// int ❌ (float ✅)
$michis = 3 + "5 michis";		// int
<?php

/*

¿Qué tipo de dato son las siguientes variables?

*/

// Facil
$nombre = "Carlos"; // string
var_dump($nombre);

$apellido = "Gomez"; // string
var_dump($apellido);

$edad = 18; // int
var_dump($edad);

$Aprobado = true; // bool
var_dump($Aprobado);


// Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // float
var_dump($promedio);

$nombre_completo = $nombre . " " . $apellido; // string
var_dump($nombre_completo);

$presento_examen = (bool) 1; // bool
var_dump($presento_examen);


// Avanzado
$numero_preguntas = 5 + "5"; // int
var_dump($numero_preguntas);

$numero_respuestas = "5" + 5; // int
var_dump($numero_respuestas);

$promedio_maximo = $numero_respuestas / 1.0; // float
var_dump($promedio_maximo);

$michis = 3 + "5 michis"; // 8 - Warning
var_dump($michis);

?>

Fácil

$nombre = String;
$apellido = String;
$edad = Int;
$aprobado = True;

Medio

$Promedio = Double;
$nombre_completo = String;
$edad = Int;
$presento_examen = Bool (true);

Avanzado

$numero_preguntas = Int;
$numero_respuestas = Int;
$promedio_maximo = Double;
$michis = Int;

Respuestas al reto

$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

//Avanzado
$numero_preguntas = 5 + "5"; //int
$numero_respuestas = "5" + 5; //int
$promedio_maximo = $numero_respuestas / 1.0; //float
$michis = 3 + "5 michis"; //int(8) con warning

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)
int(8)

//Fácil
$nombre = “Carlos”; //String
$apellido = “Gómez”; //String
$edad = 18; //int
$aprobado = true; //bool(true)

//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8)/5; // Float(8.9)
$nombre_completo = $nombre . " " . $apellido; //String
$presento_examen = (bool) 1; //bool(true)

//Avanzado
$numero_preguntas = 5 + “5”; //int
$numero_respuestas = “5” + 5; //int
$promedio_maximo = $numero_respuestas / 1.8; //float
$michis = 3 + “5 michis”; //int

Saludos. E aquí mis aportes del reto:

$nombre = “Wilson”; //Es un tipo de dato ‘string’
$apellido = “Tumiña”; //Es un tipo de dato ‘string’
$edad = 28; //Es un tipo de dato ‘int’
$aprobado = true; //Es un tipo de dato ‘bool’
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; //Es un tipo de dato ‘float’
$nombre_completo = $nombre . " " . $apellido; //Es un tipo de dato ‘string’
$presento_examen = (bool) 1; //Es un tipo de dato ‘bool’
$numero_preguntas = 5 + “5”; //Es un tipo de dato ‘int’
$numero_respuestas = “5” + 5; //Es un tipo de dato ‘int’
$promedio_maximo = $numero_respuestas / 1.0; //Es un tipo de dato ‘float’
$michis = 3 + “5 michis”; //Es un tipo de dato ‘int’

//Reto 
//Fácil 
$nombre = "Ale"; //String
$apellido = "Lugo"; //String
$edad = 31; //Número entero 
$aprobado = true; //Boleano 

//Medio 
$promedio = (8 +9.5+9+10+8)/5; //Double
$nombre_completo = $nombre . " " . $apellido; //String 
$presento_examen = (bool)1; //True

//Avanzado
$numero_preguntas = 5 + "5"; // número entero 
$numero_respuestas = "5" + 5; // número entero 
$promedio_maximo = $numero_respuestas / 1.0; //float 
$michis = 3 + "5 michis"; //8 es un entero, pero sale el aviso

Buen día

Envio mi reto , espero sus comentarios <?php
//Fácil

$nombre = “Carlos”;
var_dump($nombre); //string(6) "Carlos"
echo ‘<br>’;
$apellido = “Gómez”;
var_dump($apellido); //string(6) "Gómez"
echo ‘<br>’;
$edad = 18;
var_dump($edad); //int(18)
echo ‘<br>’;
$aprobado = true;
var_dump($aprobado); //bool(true)
echo ‘<br>’;

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;
var_dump($promedio); //float(8.9)
echo ‘<br>’;
$nombre_completo = $nombre . " " . $apellido;
var_dump($nombre_completo); //string(13) "Carlos Gómez"
echo ‘<br>’;
$presento_examen = (bool) 1;
var_dump($presento_examen); //bool(true)
echo ‘<br>’;

//Avanzado

$numero_preguntas = 5 + “5”;
var_dump($numero_preguntas);//int(10)
echo ‘<br>’;
$numero_respuestas = “5” + 5;
var_dump($numero_respuestas); //int(10)
echo ‘<br>’;
$promedio_maximo = $numero_respuestas / 1.0;
var_dump($promedio_maximo); //float(10)
echo ‘<br>’;
$michis = 3 + “5 michis”;
var_dump($michis); //Warning: A non-numeric value encountered int(8)
echo ‘<br>’;
$michisforsadoInt = (int) $michis;
var_dump($michisforsadoInt); // int(8)
echo ‘<br>’;

Gracias

// Fácil

$nombre = "Carlos";  // string(6) "Carlos"
$apellido = "Gómez"; // string(6) "Gómez"
$edad = 18;          // int(18)
$aprobado = true;    // bool(true)

// Medio
// float(8.9)
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;

// string(13) "Carlos Gómez"
$nombre_completo = $nombre . " " . $apellido;

// bool(true)
$presento_examen = (bool) 1;

// Avanzado
// int(10)
$numero_preguntas = 5 + "5";

// int(10)
$numero_respuestas = "5" + 5;

// float(10)
$promedio_maximo = $numero_respuestas / 1.0;

// int(8)
$michis = 3 + "5 michis";

//Facil
$nombre = “Carlos”; // String
$apellido = “Gómez”; // String
$edad = 18; // numero entero o Integer
$aprobado = true; // Booleano

//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // Flotante o Float
$nombre_completo = $nombre . " " . $apellido; //String
$presento_examen = (bool) 1; // Booleano

//Avanzado
$numero_preguntas = 5 + “5”; // numero entero o Integer
$numero_respuestas = “5” + 5; // numero entero o Integer
$promedio_maximo = $numero_respuestas / 1.0; // numero entero o Integer
$michis = 3 + “5 michis”; Te sale un mensaje de error pero te suma y da resultado 8, es decir un numero entero o Integer

//Fácil

$nombre = “Carlos”; #String
$apellido = “Gómez”; #String
$edad = 18; #Integer
$aprobado = true; #Boolean

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; #Double
$nombre_completo = $nombre . " " . $apellido; #String
$presento_examen = (bool) 1; #Boolean

//Avanzado

$numero_preguntas = 5 + “5”; #Integer
$numero_respuestas = “5” + 5; #Integer
$promedio_maximo = $numero_respuestas / 1.0; #Double
$michis = 3 + “5 michis”; #Integer

Hice el ejercicio y lo verifiqué con var_dump. Imagino que hay alguna forma de hacer el var_dump de todo en una sola línea 😄

<?php

// Fácil
$nombre = “Carlos” ; //(string)
$apellido = “Gómez” ; // (string)
$edad = 18; // (int)
$aprobado = true; // (bool)

var_dump ($nombre);
var_dump ($apellido);
var_dump ($edad);
var_dump ($aprobado);

// Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // (float)
$nombre_completo = $nombre . " " . $apellido; // (string)
$presento_examen = (bool) 1; // (bool)

var_dump ($promedio);
var_dump ($nombre_completo);
var_dump ($presento_examen);

// Avanzado
$numero_preguntas = 5 + “5” ; // (int)
$numero_respuestas = “5” + 5; // (int)
$promedio_maximo = $numero_respuestas / 1.0; // (float)
$michis = 3 + “5 michis” ; // (int)

var_dump ($numero_preguntas);
var_dump ($numero_respuestas);
var_dump ($promedio_maximo);
var_dump ($michis);

echo “<br>”;
?>

//Fácil
$nombre = “Carlos” --> String
$apellido = “Gómez” --> String
$edad = 18 --> int
$aprobado = true --> boolean

//Medio
$promedio = (8 + 9.5 + 9 + 10 + 8) / 5 --> float
$nombre_completo = $nombre . " " . $apellido --> String
$presento_examen = (bool) 1 --> boolean

//Avanzado
$numero_preguntas = 5 + “5” --> int
$numero_respuestas = “5” + 5 --> int
$promedio_maximo = $numero_respuestas / 1.0 --> float
$michis = 3 + “5 michis” --> int

Aquí mi Reto

<?php
//Fácil
/* string */ $nombre = "Carlos";
/* string */ $apellido = "Gómez";
/* int */ $edad = 18;
/* bool */ $aprobado = true;

//Medio
/* float */ $promedio = (8 + 9.5 + 9 + 10 + 8) / 5;
/* string */ $nombre_completo = $nombre . " " . $apellido;
/* bool */ $presento_examen = (bool) 1;

//Avanzado
/* int */ $numero_preguntas = 5 + "5";
/* int */ $numero_respuestas = "5" + 5;
/* int */ $promedio_maximo = $numero_respuestas / 1.0;
/* int + Notice */ $michis = 3 + "5 michis";

Hola!

El shortcut para comentar todo de golpe (/**/) que usa el profesor es alt + shift + a

Si quieres comentar cada linea (//) sería ctrl + k y ctrl + c

Espero les sirva

“Carlos” = String;
“Gomez” = String;
18 = Integer;
true =Boolean;

$promedio = Float;
$nombre_completo = string;
$presento_examen = Boolean;

$numero_pregunta = integer:
$numero_respuesta = Integer;
$promedio_maximo = integer:
$michis = integer;

Hola

// Facil
$nombre = “Carlos”; — Es un String.
$apellido = “Gómez”; — Es un String
$ edad = 18; ----- Es un entero (int)
$aprobado = true; es un booleano (bool)

// Medio
$promedio = (8 + 9.5 +9 +10 +8 ) / 5 ; — Es valor flotante (float)
$ nombre_completo = $ nombre , " ". apellido ; — Es un String
$ presento_Examen = (bool) 1 ; Es un booleano (bool)

// Avanzado
$numero_preguntas = 5 + “5”; – Usando la lógica de php este dato llegaría a ser un entero (int)
$numero_respuestas = “5” + 5 ; – Esta la tuve que probar en código y la respuesta seria igual a la anterior.
$ promedio_maximo = $numero_respuestas / 1.0 ; – Es un flotante (float)
$michis = 3 + “mihis”; Me da un error como en el video sin embargo, se suma y podría considerarse como in entero (int)

Tipos de datos estan comentados al lado de las variables 😃:

//Fácil

$nombre = "Carlos";   //  STRING
$apellido = "Gómez";  //  STRING
$edad = 18;  //  INT
$aprobado = true;  //  BOOLEAN

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5;//  FLOAT  
$nombre_completo = $nombre . " " . $apellido;//  STRING
$presento_examen = (bool) 1;//  BOOLEAN

//Avanzado

$numero_preguntas = 5 + "5";  //  INT
$numero_respuestas = "5" + 5;//  INT
$promedio_maximo = $numero_respuestas / 1.0;//  FLOAT 
$michis = 3 + "5 michis"; //  INT

Fácil

$nombre = "Carlos"; // == string
$apellido = "Gómez"; // == string
$edad  = 18; // == integer
$aprobado = true; // == bool

Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // == float
$nombre_completo = $nombre . " " . $apellido; // == string
$presento_examen = (bool) 1;  // == bool

Avanzado

$numero_preguntas = 5 + "5"; // == integer
$numero_respuestas = "5" + 5; // == integer
$promedio_maximo = $numero_respuestas / 1.0; // == float
$michis = 3 + "5 michis"; // == integer

nombre= string
apellido= string
edad=inter
aprobado= bool
promedio= float
nombre completo= string
presento examen= bool
numero de preguntas= inter
numero de respuestas= inter
promedio maximo= float
michis= inter

//Fácil

$nombre = “Carlos”; //string(6)
$apellido = “Gómez”; //string(6)
$edad = 18; //int(18)
$aprobado = true; //bool(true)

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; //float(8.9)
$nombre_completo = $nombre . " " . $apellido; //string(13)
$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)
$michis = 3 + “5 michis”; //int(8)

$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

//Avanzado
$numero_preguntas = 5 + "5"; //Int
$numero_respuestas = "5" + 5; //Int
$promedio_maximo = $numero_respuestas / 1.0; //float
$michis = 3 + "5 michis"; //Int

Los tipos de datos son:

$nombre = String
$apellido = String
$edad = int
$aprobado = bool

$promedio = float
$nombre_completo = String
$presento_examen = bool = true

$numero_preguntas = int
$numero_respuestas = int
$promedio_maximo = float
$michis = int con warning de String.

Cualquier corrección o duda me dices porfavor

$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";

$michis = (int) $michis;

var_dump($michis);

int(10)
int(10)
float(10)

Warning: A non-numeric value encountered in C:\laragon\www\curso-php\casting.php on li44ne 67
int(8)

$nombre = "Camilo";
$apellido = "Garzon";

$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);

float(8.9)
string(13) "Camilo Garzon"
bool(true)

<code> 
$nombre = "Carlos";

var_dump($nombre);

$apellido = "Gómez";

var_dump($apellido);

$edad = 18;

var_dump($edad);

$aprobado = true;

var_dump($aprobado);

string(6) "Carlos"
string(6) "Gómez"
int(18)
bool(true)

//facil

  • string
    -string
    -int
    -bool

//Media
-float
-string
-bool

//Avanzado
-int
-int
-float
-int con warning

//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

//Avanzado
/* 5 es int y "5"  es string pero al correr esa varible en PHP, php lo convertirá a int  porque PHP es un lenguaje de tipado débil*/
$numero_preguntas = 5 + "5"; //int
$numero_respuestas = "5" + 5; //int
$promedio_maximo = $numero_respuestas / 1.0; //float
$michis = 3 + "5 michis"; // int pero nos saldrá una advertencia.

Reto.php de variables

Respuestas

<?php

//Facil 
$nombre = "Cesar"; //string(5)
$apellido = "Paulino"; //string(7)
$edad = "36"; //string(2)
$aprobado = true; //bool(true)

//Medio
$promedio = ( 8 + 9.5 + 9 + 10 + 8 ) / 5 ;  //fload(8.9)
$nombre_completo = $nombre . " " . $apellido;  //string(13)
$presento_examen = (bool) 1;  //bool(true)

//Avanzado 
$numero_preguntas = 5 + "5"; // int (10)
$numero_respuesta = "5" + 5;  // int (10)
$promedio_maximo = $numero_preguntas / 1.0 ; //float (10)
$michis = 3 + "5 michis"; /// int (8)

//Fácil

$nombre = “Carlos”; //String
$apellido = “Gómez”; //String
$edad = 18; //Integer
$aprobado = true; //Boolean

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; //Double
$nombre_completo = $nombre . " " . $apellido; //String
$presento_examen = (bool) 1; // (Forzado Boolean)

//Avanzado

$numero_preguntas = 5 + “5”; //Integer
$numero_respuestas = “5” + 5; //Integer
$promedio_maximo = $numero_respuestas / 1.0; //Double
$michis = 3 + “5 michis”; // (suma = 8, muestra error de sintaxis)

Casting en PHP = Coerción en JavaScript
Para los compañeros de js

string
string
int
bool
float
string
bool -> true
int
int
float
int -> warning

//Fácil

$nombre = “Carlos”; String
$apellido = “Gómez”; String
$edad = 18; int
$aprobado = true; bool

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; double
$nombre_completo = $nombre . " " . $apellido; string
$presento_examen = (bool) 1; booleano

//Avanzado

$numero_preguntas = 5 + “5”; int
$numero_respuestas = “5” + 5; int
$promedio_maximo = $numero_respuestas / 1.0; float
$michis = 3 + “5 michis”; int

Basico
string(6) "Carlos"
string(6) "Gómez"
int(18)
bool(true)

Medio
float(8.9)
string(13) "Carlos Gómez"
bool(true)

Avanzado
int(10)
int(10)
float(10)
int(8)

Basico
string(6) "Carlos"
string(6) "Gómez"
int(18)
bool(true)

Medio
float(8.9)
string(13) "Carlos Gómez"
bool(true)

Avanzado
int(10)
int(10)
float(10)
PHP Warning: A non-numeric value encountered in C:\xampp\htdocs\reto.php on line 35

Warning: A non-numeric value encountered in C:\xampp\htdocs\reto.php on line 35
int(8)

//Facil
$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

//Avanzado
$numero_preguntas = 5 +“5”; --> int
$numero_respuestas = “5” + 5; --> int
$promedio_maximo = $numero_respuestas/1.8; --> bool
$michis = 3 + “5 michis”; --> int

Respuestas:

$nombre = “Carlos”; es String
$apellido = “Gomez”; es String
$edad = 18; es int
$aprobado = true; bool

$promedio = (8 + 9.5 + 9 + 10 + 8 )/5; float
$nombre_completo = $nombre . " " . $apellido; string
$presnto_examen = (bool) 1; bool

$numero_preguntas = 5 + “5”; int
$numero_respuestas = “5” + 5; int
$promedio_max = $numero_respuestas / 1.0; bool
$michis = 3 + “5 michis”; int con Warning

🤓 Resolución del problema

//Fácil

$nombre = "Carlos"; // string
$apellido = "Gómez"; // string
$edad = 18; // integer
$aprobado = true;  // boolean

//Medio

$promedio = (8 + 9.5 + 9 + 10 + 8) / 5; // integer
$nombre_completo = $nombre . " " . $apellido;  // string
$presento_examen = (bool) 1; // boolean

//Avanzado

$numero_preguntas = 5 + "5"; // number
$numero_respuestas = "5" + 5; // string
$promedio_maximo = $numero_respuestas / 1.0; // integer
$michis = 3 + "5 michis"; // string

El reto de tipo de datos:

    //Fácil
    $nombre = "Carlos";    //string
    $apellido = "Gómez";	//string
    $edad = 18;			//entero
    $aprobado = true;	//booleano

//Medio
$promedio = = (8 + 9.5 + 9 + 10 + 8) / 5; 	//flotante porque tiene decimales
$nombre_completo =  $nombre_completo = $nombre . " " . $apellido 	//string
$presento_examen = (bool) 1;	//booleano (si es diferente de 0 u vacio se hace casting a verdadero)

//Avanzado
$numero_preguntas = 5 + "5"	//entero
$numero_respuestas = "5" + 5;	//entero
$promedio_maximo = $numero_respuestas / 1.0;  //dificil pero la logica dice que devido a la division es flotante
$michis = 3 + "5 michis"   //igual que las papas esto se interpreta como entero

Avanzado:
$nuero_preguntas int
$numero_respuestas int
$promedio_maximo int
$michis no estoy segura si es int ._.

Medio:
$promedio float
$nombre_completo string
$presento_examen boolean verdadero

Facil:
$nombre string
$apellido string
$edad int
$aprobado boolean

Comparto 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> 

Repuestas del reto:

//Fácil
$nombre = “carlos”; => string
$apellido = “gomez”; => string
$edad = 18; => int
$aprobado = true; => Booleano

//Medio
$promedio = (8+9.5 + 10 + 8) / 5; => float
$nombre_completo = $nombre . " " . $apellido, => string
$preesento_examen =(bool) 1; => booleano verddadero

// Avanzado
$numero_prreungtas = 5 + “5”; => int
$numero_respuetas = “5” + 5: => int
$promedio_maximo = numero _respuetas / 1.0 => int
$michis = 3 + “5 michis”; int con arventencia

estas son las repuestas del reto:

// Facil
$nombre = “carlos”; es un string
$apellido = “gomez”; es un string
$edad = 18; es un int
$aprobado = true; es un Bolean

//Medio
$promedio = (8+9.5 + 10 + 8) / 5; es un float
$nombre_completo = $nombre . " " . $apellido; es un string
$preesento_examen =(bool) 1; es una boleano verddadero

// Avanzado
$numero_prreungtas = 5 + “5”; convierte en int
$numero_respuetas = “5” + 5: convierte en int
$promedio_maximo = numero _respuetas / 1.0 = int
$michis = 3 + “5 michis”; int con arventencia que no es un entero

#Facil
- String
- String
- Number
- Bool

#Medio
- Float
- String
- Bool

#Avanzado

  • Resultado es Number aunque los valores son: Number+String
  • Resultado es Number aunque los valores son: String+ Number.
  • Float si es que numero_respuestas es valor Number
  • Es igualo que el primer y segundo caso.