CursosEmpresasBlogLiveConfPrecios

¿Do... While?

Clase 10 de 25 • Curso de PHP: Arreglos, Funciones y Estructuras de Control

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    ¿Ya conoces los fundamentos de PHP?

    ¿Ya conoces los fundamentos de PHP?

    02:26
Arreglos
  • 2
    ¿Qué son los arreglos?

    ¿Qué son los arreglos?

    07:36
  • 3
    Arreglos asociativos

    Arreglos asociativos

    13:46
  • 4
    Manipulando arreglos

    Manipulando arreglos

    13:43
  • 5
    Reto: escuela de michis

    Reto: escuela de michis

    11:50
Condicionales
  • 6
    Aprende a tomar decisiones con if y else

    Aprende a tomar decisiones con if y else

    10:20
  • 7
    Cómo organizar tu código con switch

    Cómo organizar tu código con switch

    09:58
  • 8
    Reto: ¿puedo retirar mis donaciones de Twitch?

    Reto: ¿puedo retirar mis donaciones de Twitch?

    05:35
Bucles
  • 9
    Ciclo while

    Ciclo while

    11:37
  • 10
    ¿Do... While?

    ¿Do... While?

    07:08
  • 11
    Ciclo for

    Ciclo for

    10:17
  • 12
    Ciclo foreach

    Ciclo foreach

    13:57
  • 13
    Reto: ¿cuántos caminos hay para llegar al mismo punto?

    Reto: ¿cuántos caminos hay para llegar al mismo punto?

    21:13
Funciones
  • 14
    Aprende a reutilizar tu código: funciones

    Aprende a reutilizar tu código: funciones

    09:55
  • 15
    Parámetros en las funciones

    Parámetros en las funciones

    09:06
  • 16
    Profundicemos en los parámetros

    Profundicemos en los parámetros

    14:30
  • 17
    Uso de return

    Uso de return

    07:57
  • 18
    Operador de nave espacial

    Operador de nave espacial

    07:49
  • 19
    ¡Expande tu arsenal de funciones!

    ¡Expande tu arsenal de funciones!

    05:07
  • 20
    Reto: completa el código

    Reto: completa el código

    04:46
Proyecto: juego del ahorcado con PHP
  • 21
    ¡Hagamos un juego con PHP!

    ¡Hagamos un juego con PHP!

    12:01
  • 22
    Validando las letras de los usuarios

    Validando las letras de los usuarios

    10:54
  • 23
    Terminando de programar el juego

    Terminando de programar el juego

    12:21
Bonus: HTML con esteroides
  • 24
    Cómo interactúa PHP con HTML

    Cómo interactúa PHP con HTML

    08:13
Próximos pasos
  • 25
    Toma el Curso Práctico de PHP

    Toma el Curso Práctico de PHP

    02:35
    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    teacher•
    hace 4 años

    ¿Realmente tiene algún uso el ciclo do... while? 🤔

    . Este ciclo es muy similar al while, con la particularidad de que no importa si tu conidición es verdadera o es falsa, tu ciclo se va a ejecutar por lo menos una vez, al menos una, ya si se vuelve a ejecutar o no dependerá de si la condición es verdadera o falsa, pero al menos una vez sí que se va a ejecutar 😄. . ¿Pero de qué nos sirve este ciclo? Justamente en aquellos casos en donde queramos ejecutar nuestra lógica por lo menos una vez, este ciclo nos ahorra el uso de un if innecesario en ciertas ocasiones, por ejemplo, cuando queremos guardar el nombre de un usuario. . Cuando queremos hacer esto, debemos verificar si el nombre de usuario escrito no existe, y si sí existe entonces debemos pedir otro nombre de usuario, esto lo podemos hacer fácilmente con un ciclo do... while tal como vemos en la clase 😉 . ¿Qué otros casos de uso se te ocurren para este ciclo? 👀

    Guadalupe Monge Barale

    Guadalupe Monge Barale

    student•
    hace 4 años

    Like si entendiste que el chiste "Master / main" como una referencia a GitHub. ja ja ja

      Francisco Javier Saavedra Alcala

      Francisco Javier Saavedra Alcala

      student•
      hace 4 años

      😲

      Leonardo Rios Pineda

      Leonardo Rios Pineda

      student•
      hace 4 años
      xD
    Maria del Carmen Valero Carreño

    Maria del Carmen Valero Carreño

    student•
    hace 3 años

    Me encanta como explica este profesor, estoy entendiendo muchísimo, cuando empecé con Javascript me estaba deprimiendo pero gracias a este profe ya muchas cosas entiendo aunque no sea el mismo lenguaje, gracias profe.

      isaac cruz herrera

      isaac cruz herrera

      student•
      hace 2 años

      Creeme no eres la unica que se siente identificada con esto.

    John David Gómez Constante

    John David Gómez Constante

    student•
    hace 4 años

    Aquí mi humilde aporte

    <?php $username = readline("Por favor, ingresa tu nuevo nombre: "); $existe = in_array($username, $usernames); if ($existe) { echo "Existe \n"; while ($existe = in_array($username, $usernames)) { $username = readline("Por favor, ingresa tu nuevo nombre: "); if ($existe = in_array($username, $usernames)) echo "Existe \n"; else echo "Registro exitoso \n"; } } else { echo "Registro exitoso"; }
    Joel Dominguez Merino

    Joel Dominguez Merino

    student•
    hace 3 años

    Esa caja de herramientas de PHP esta quedando super amplia 😎 Gracias por todo lo que nos estas compartiendo Carlos! Les comparto el código que ejemplifique del uso de do-while donde va agregando a un arreglo, los diferentes nombres ingresados por el usuario siempre y cuando el nombre no exista en el mismo. Si el nombre ya existe, no lo agrega y muestra como quedo el arreglo al final.

    Código: .

    <?php /* Ciclo 'do-while' en php Este ciclo es muy similar al ciclo while, con la diferencia que aunque la condición al inicio no se cumpla, él bloque de código se ejecutará al menos una vez al principio. Fuera de eso, se trabaja igual que en el ciclo while, requiere una condición y que su variable contadora vaya incrementándose o decrementándose para no llegar a un ciclo infinito. Estructura del ciclo 'do-while' do{ Bloque de código a ejecutar } while(condicion); */ // declarando variables $listaDeNombres = []; $estaEnElArreglo = false; // Declarando ciclo 'do-while' do{ $nombre = readline("Hola, ingresa un nombre por favor "); $estaEnElArreglo = in_array($nombre, $listaDeNombres); if(!$estaEnElArreglo){ array_push($listaDeNombres, $nombre); } }while( !$estaEnElArreglo ); echo("El arreglo final es:\n"); var_dump($listaDeNombres); /* */ echo(PHP_EOL);

    . Ejecución

    do-while.png
    Kevin Leonardo Saavedra Carmona

    Kevin Leonardo Saavedra Carmona

    student•
    hace 4 años
    <?php $usernames = ["Pepito123", "Mr.Michi", "RetaxMain", "kevin"]; $username = readline("Ingrese un nuevo nombre de usuario: "); if (in_array($username, $usernames)) { while (in_array($username, $usernames)) { echo "Este nombre ya existe\n"; $username = readline("Ingrese un nuevo nombre de usuario: \n"); } array_push($usernames, $username); echo"Nombre de usuario valido, ha sido almacenado"; } else { array_push($usernames, $username); echo "Nombre de usuario valido"; } var_dump($usernames);
    Eduardo Peraza Vindas

    Eduardo Peraza Vindas

    student•
    hace 4 años

    Respecto al reto de hacerlo sin do, solamente con while

    Literalmente hice lo mismo pero poner el readline en el do, solo hice el while y me funciona similar, en este caso..

    ¿cual seria la diferencia o en que afectaria meter o dejar el readline afuera del do?

    dejo de ejemplo mi codigo:

    SIN DO:

    <?php //reto do while $lista_usuarios = ["Kisho", "Mirangod"]; $usuario_nuevo = readline("Ingrese un usuario nuevo para registrarlo: \n"); while(in_array($usuario_nuevo, $lista_usuarios)){ //pedira la informacion hasta que el usuario nuevo sea diferente a los que ya estan registrados $usuario_nuevo = readline("Usuario ya registrado, porfavor ingrese otro nombre: \n"); } array_push($lista_usuarios, $usuario_nuevo); //esto seria para agregar el usuario nuevo al arreglo var_dump($lista_usuarios); //para verificar si se agrego

    CON DO:

    <?php $usernames = ["Pepito123", "Mr.Michi", "RetaxMain"]; do{ $username = readline ("Porfavor , ingresa tu nuevo nombre de usuario: \n"); //de esta forma no podre poner dos textos diferentes } while ( in_array($username, $usernames)); //verifica si existe o no existe en el arreglo echo "\n"; array_push($usernames, $username); var_dump($usernames);
      Joan Manuel Olvera Lona

      Joan Manuel Olvera Lona

      student•
      hace 4 años

      Probablemente, el hecho de que capturas menos código con el do while. Fuera de ello, la lógica es bastante similar.

    Vicki Esther Avola

    Vicki Esther Avola

    student•
    hace 4 años

    Do ... While se puede utilizar para evitar que se repita información en la base de datos

    Juan David Rueda Quiroga

    Juan David Rueda Quiroga

    student•
    hace 3 años

    creo que daría igual poner el do o hacerlo sin el do, básicamente no le veo utilidad, algún ejemplo que se le vea la utilidad?

      Natalia Gutierrez

      Natalia Gutierrez

      student•
      hace 3 años

      While, y Do ... While, existen porque se usan para diferentes casos.

      La utilidad se le encuentra cuando se te presenta el caso.

      Uno tipico es cuando trabajas con archivos, ya sea para manipularlos dentro de un directorio o manipular su mismo contenido y necesitas que la condicion se ejecute al menos una sola vez:

      Ejemplo: leer el dontenido de un archivo.txt mientras no sea fin de linea.

      Otro mas complejito (que no quiero extenderme mas en la respuesta), es por ejemplo para hacer validacion de un registro de usuarios contra una base de datos, alli tambien se puede aplicar ese caso.

      Natalia Gutierrez

      Natalia Gutierrez

      student•
      hace 3 años

      Se me ocurrio otro que podria servir, si estas programando un juego y neceistas ejecutar algo mientras aun tengas puntos de vida :0 !!

    Yahday Awad Lara

    Yahday Awad Lara

    student•
    hace 4 años

    Reto sin usar do-while

    $user_names = ["User1", "User2", "User3"]; $new_user = readline("Nombre de usuario: "); while (in_array($new_user, $user_names)) { $new_user = readline("Ese nombre ya existe, ingrese uno nuevo: "); }
    Fabian Silva

    Fabian Silva

    student•
    hace 2 años

    Aquí dejo mi aporte, en donde hice una pequeña modificación estableciendo un condicional.

    <?php $user_names = ['pepito', 'mr.michi', 'fbn']; do { $user_name = readline ('por favor indica tu nombre de usuario: '); echo "\n"; if ( in_array ($user_name , $user_names)) { echo "ya te encuentras registrado \n"; }else { echo "bienvenio \n"; } }while (in_array($user_name, $user_names)); //in_array nos ayuda a validar la informacion de un array, por ejemplo un nombre, contraseña, etc. echo "\n";
    Nicolas Neira

    Nicolas Neira

    student•
    hace 3 años

    Algunos casos en los que se puede utilizar: .

    1. Validación de entrada: Si se está solicitando una entrada del usuario y se necesita validarla antes de continuar, el ciclo do...while puede utilizarse para solicitar la entrada del usuario al menos una vez y luego validarla. Si la entrada es inválida, el ciclo se repetirá hasta que se proporcione una entrada válida. .
    2. Procesamiento de archivos: Si se está procesando un archivo y se necesita leer al menos una línea antes de decidir si continuar o no, el ciclo do...while puede utilizarse para leer la primera línea y luego evaluar si continuar o no. .
    3. Menús interactivos: Si se está construyendo un menú interactivo que requiere una selección del usuario, el ciclo do...while puede utilizarse para mostrar el menú al menos una vez y luego continuar procesando la selección del usuario. .
    4. Lógica de juego: Si se está construyendo un juego que requiere una acción del usuario antes de continuar, el ciclo do...while puede utilizarse para mostrar el juego al menos una vez y luego evaluar la acción del usuario para continuar o no.
    Evander Nassem Ramírez Hernández

    Evander Nassem Ramírez Hernández

    student•
    hace 3 años

    Tremanda explicación, cuando empecé a aprender python este tema me daba doleres de cabeza pero con sus explicaciones todo es más sencillo

    Evander Nassem Ramírez Hernández

    Evander Nassem Ramírez Hernández

    student•
    hace 3 años

    Mi código, ejemplo de saludo con do...while:

    <?php $usernames = ["salem", "atzin"]; do { $username = readline("Ingresa tú nombre de usuario: "); } while (in_array($username, $usernames)); echo "Hola $username"; ?>
    JANIO JESUS JIMENEZ CAMPO

    JANIO JESUS JIMENEZ CAMPO

    student•
    hace 3 años

    Mi aporte con el Reto!

    <code <?php $usernames = ['Janez', 'Camila', 'Leonor', 'Martin']; $nombre = true; while($nombre){ $username = readline("Ingrese su nuevo nombre: "); if(!in_array($username, $usernames)){ echo "Registro exitoso!"; $nombre = false; }else{ echo "Error, el nombre ya exite!!!\n"; echo "Vuelva a intentarlo.\n\n"; } } >
    Nelson Andres Vera Bernal

    Nelson Andres Vera Bernal

    student•
    hace 3 meses
    Jeyson David Vargas Crespo

    Jeyson David Vargas Crespo

    student•
    hace 3 años

    $usernames = ["Pepito123", "MrMichi", "RetaxMain"];

    echo "\n";

    $username = readline("Por favor ingresa tu nuevo nombre de usuario: ");

    while ($username <> $usernames) { echo "Registro exitoso"; };

    Jeyson David Vargas Crespo

    Jeyson David Vargas Crespo

    student•
    hace 3 años

    Hola, me ayudan por favor revisando mi código, quiero hacerlo solo con while, porque el resultado en cualquier caso me da infinito.

    $usernames = ["Pepito123", "MrMichi", "RetaxMain"];

    echo "\n";

    $username = readline("Por favor ingresa tu nuevo nombre de usuario: ");

    while ($username <> $usernames) { echo "Registro exitoso"; };

    Les agradezco mucho su ayuda...

    JAVIER ALEJANDRO TORRES GUISAO

    JAVIER ALEJANDRO TORRES GUISAO

    student•
    hace 3 años

    Esta bien si yo comparo dos lenguajes porque simpre cuando veo los viode pienso en Javascript, por ejemplo alla es prompt() y php readline()?

    eamedranoc1

    eamedranoc1

    student•
    hace un año

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads