CursosEmpresasBlogLiveConfPrecios
Curso de PHP: Arreglos, Funciones y Estructuras de Control

Manipulando arreglos

Curso de PHP: Arreglos, Funciones y Estructuras de Control

Contenido del curso

Introducción

  • 1
    ¿Ya conoces los fundamentos de PHP?

    ¿Ya conoces los fundamentos de PHP?

    02:26 min

Arreglos

  • 2
    ¿Qué son los arreglos?

    ¿Qué son los arreglos?

    07:36 min
  • 3
    Arreglos asociativos

    Arreglos asociativos

    13:46 min
  • 4
    Manipulando arreglos

    Manipulando arreglos

    Viendo ahora
  • 5
    Reto: escuela de michis

    Reto: escuela de michis

    11:50 min

Condicionales

  • 6
    Aprende a tomar decisiones con if y else

    Aprende a tomar decisiones con if y else

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

    Cómo organizar tu código con switch

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

    Reto: ¿puedo retirar mis donaciones de Twitch?

    05:35 min

Bucles

  • 9
    Ciclo while

    Ciclo while

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

    ¿Do... While?

    07:08 min
  • 11
    Ciclo for

    Ciclo for

    10:17 min
  • 12
    Ciclo foreach

    Ciclo foreach

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

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

    21:13 min

Funciones

  • 14
    Aprende a reutilizar tu código: funciones

    Aprende a reutilizar tu código: funciones

    09:55 min
  • 15
    Parámetros en las funciones

    Parámetros en las funciones

    09:06 min
  • 16
    Profundicemos en los parámetros

    Profundicemos en los parámetros

    14:30 min
  • 17
    Uso de return

    Uso de return

    07:57 min
  • 18
    Operador de nave espacial

    Operador de nave espacial

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

    ¡Expande tu arsenal de funciones!

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

    Reto: completa el código

    04:46 min

Proyecto: juego del ahorcado con PHP

  • 21
    ¡Hagamos un juego con PHP!

    ¡Hagamos un juego con PHP!

    12:01 min
  • 22
    Validando las letras de los usuarios

    Validando las letras de los usuarios

    10:54 min
  • 23
    Terminando de programar el juego

    Terminando de programar el juego

    12:21 min

Bonus: HTML con esteroides

  • 24
    Cómo interactúa PHP con HTML

    Cómo interactúa PHP con HTML

    08:13 min

Próximos pasos

  • 25
    Toma el Curso Práctico de PHP

    Toma el Curso Práctico de PHP

    02:35 min
Tomar examen

Manipulando arreglos

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

      Comentarios52

      Carlos Eduardo Gomez García

      Carlos Eduardo Gomez García

      Profesor
      Hace 4 años
        Andrés Felipe Lopez gomez

        Andrés Felipe Lopez gomez

        Estudiante
        Hace 4 años
        Fernando Yutiz

        Fernando Yutiz

        Estudiante
        Hace 4 años
      Jimmy Buriticá Londoño

      Jimmy Buriticá Londoño

      Estudiante
      Hace 4 años
      Serch Roa

      Serch Roa

      Estudiante
      Hace 4 años
      Juan David Rueda Quiroga

      Juan David Rueda Quiroga

      Estudiante
      Hace 4 años
      Angel Fernando Quiroz Campos

      Angel Fernando Quiroz Campos

      Estudiante
      Hace 4 años
      Joel Dominguez Merino

      Joel Dominguez Merino

      Estudiante
      Hace 4 años
      Israel Josue Feric Godoy

      Israel Josue Feric Godoy

      Estudiante
      Hace 2 años
      Brandon Valentin Olaya Leguizamo

      Brandon Valentin Olaya Leguizamo

      Estudiante
      Hace 4 años
      Luis Gabriel Rios Sauceda

      Luis Gabriel Rios Sauceda

      Estudiante
      Hace 4 años
      Adan Steven Pedraza Castañeda

      Adan Steven Pedraza Castañeda

      Estudiante
      Hace 3 años
      Fidel Parabacuto

      Fidel Parabacuto

      Estudiante
      Hace 4 años
        Brandon Aray

        Brandon Aray

        Estudiante
        Hace 3 años
      Jose Gomez

      Jose Gomez

      Estudiante
      Hace 4 años
      Vicki Esther Avola

      Vicki Esther Avola

      Estudiante
      Hace 4 años
      julian andres caracas

      julian andres caracas

      Estudiante
      Hace 15 días
      Jose Eduardo Carbonell Ledesma

      Jose Eduardo Carbonell Ledesma

      Estudiante
      Hace 8 meses
      Jonathan Fernando Santana Quispillo

      Jonathan Fernando Santana Quispillo

      Estudiante
      Hace 4 años
        Alejandro Patiño

        Alejandro Patiño

        Estudiante
        Hace 4 años
      LESTHER XITUMUL MANUEL

      LESTHER XITUMUL MANUEL

      Estudiante
      Hace 3 años
      Belen Martínez

      Belen Martínez

      Estudiante
      Hace un año
      Christian Gómez

      Christian Gómez

      Estudiante
      Hace 2 años
      Juan Osio

      Juan Osio

      Estudiante
      Hace 2 años

      ¡Tienes el poder!

      .

      . Ya que sabes lo poderosos que son los arreglos, ahora imagínate empezar a hacer operaciones con ellos 😏. PHP ya incluye por defecto varias funciones que solamente te toca implementar para hacer una infinidad de cosas, ¿y cómo las encuentras? ¡En la documentación están todas! . Puedes hacer varias cosas como ordenar arreglos, encontrar un valor dentro del arreglo, eliminar valores repetidos, juntar arreglos, uffs. . En los recursos de la clase tienes un enlace hacia la documentación, cuéntame, ¿cuál función te pareció más interesante? 👀

      Excelente clase, yo no sabiaque existia tantas funciones para manipular arreglos

      array_unique

      Elimina valores duplicados de un array

      <?php $entrada = array("4", "4", "3", "4", "3", "3"); $resultado = array_unique($entrada); var_dump($resultado); // array(2) { [0]=> string(1) "4" [2]=> string(1) "3" } ?>

      Les dejo mis apuntes

      <?php $edades = [12,14,18,21,24,40]; $nombre = "Nombre"; // count() : Saber el tamaño de un arreglo echo(count($edades)); /** * array_push(): Agregas uno o mas elemntos al final de un array */ array_push($edades,50); var_dump($edades); /** * is_array(): La función is_array() verifica si una variable es una matriz o no. * Esta función devuelve verdaderosi la variable es una matriz,de lo contrario devuelve falso */ if(is_array($nombre)){ echo "Si es un array"; }else{ echo "No es un array"; } /** * explode(): Convierte un string en un array * explode(separetor,string,limit); */ $frase = "Nunca pares de aprender"; var_dump(explode(" ",$frase)); /** * implode(): Convierte un array en un string * implode(separador,string); */ $palabras = ["Me","encanta","platzi","<3"]; var_dump(implode(" ",$palabras));

      En lugar de array push es más eficiente $array[] = valor

      El atajo a la web de documentación para PHP es https://php.net/NOMBRE_FUNCION

      Por ejemplo https://php.net/array

      Realmente la manipulación de arreglos en php brinda muchísimas funciones que ni me imaginaba existirían. También comentar que la documentación de PHP se ve muy buena, se ha realizado muy buen trabajo también en esa parte. . Comparto mis apuntes de clase de hoy :)

      code.png

      array_map y array_merge creo que serán muy útiles.

      la página de php me voló la cabeza

      echo "Encontre: " . array_search( 20, $edades);

      busca un valor y devuelve la primera posición donde los encontró

      En base a la función Explode pude hacer el siguiente experimento:

      Solicito datos de entrada al usuario (en este caso folios de facturas) pidiéndole que los delimite por una coma "," para a si de esta manera pueda con la función explode convertir el string total del usuario en un array

      <?php /* $edades = [ 12, 18, 20, ]; array_push($edades, 26); var_dump($edades); */ $facturas = readline("Ingresa tus facturas por folio recuerda usar una coma para separarlas \n" ); $facturas = explode(",", $facturas); echo "Las facturas: "; var_dump($facturas); echo "Han sido procesadas correctamente";

      En PHP no sería mejor practica par declarar Variables el camelCase?

      80 funciones para manipular arreglos? mucho más que JS ...

      Recuerda que javascript inicialmente estaba diseñado para trabajar en el cliente, ahi no se pretendia manejar tanto con arreglos sino con comportamientos de las paginas web.

      En cambio php esta diseñado para el backend, y al los arreglos ser principalmente utilizados para intercambiar informacion, tiene sentido que tenga tanta variedad de funciones para trabajar con ellos.

      me encanta como nos inculcan escribir siempre las funciones full y los comandos sin usar atajos de teclado para aprender bien como se hacen las cosas

      No sabía que PHP tiene tantas funciones en forma nativa. Vamos por más

      <?php

      /*

      manipulacion de arreglos

      */

      $edades = [18,20,24];

      // cuantos elementos hay dentro de un arreglo

      var_dump($edades[0]);

      echo count($edades);

      echo"\n";

      $frutas = array(

      "fresa" => 1500,

      "banano" => 1600,

      "manzana" => 2000,

      "pera" => 2500

      );

      //echo count($frutas);

      //print_r($frutas);

      var_dump($frutas);

      echo "\n";

      /*

      Otra función muy útil es array_push(), que nos permite añadir

      uno o varios elementos al final de un array.

      */

      $edades = array(18,20,24);

      array_push($edades,30,40);

      print_r($edades);

      var_dump($edades);

      echo "\n";

      //La función explode() convierte un string en un array utilizando un separador.

      $fruta = "Manzana, Pera, Fresa";

      $frutas_array = explode(", ", $fruta);

      var_dump($frutas_array);

      echo "\n";

      // La funcion implode() une elementos de un array en un string, este convierte un array en un string

      $datos = array( 'lastname', 'email', 'phone');

      var_dump(implode(" , ", $datos));

      echo "\n";

      //Debemos saber que el seperador es opcional

      $vocales =[

      'primera' => 'a',

      'segunda' => 'b',

      'tercera' => 'c',

      ];

      var_dump(implode($vocales));

      echo "\n";

      /*

      array_combine() crea un array asociativo a partir

      de dos arrays: uno aporta las claves y el otro los valores.

      */

      $atributos = ['nombre', 'apellido', 'edad'];

      $valores = ['Julian', 'Caracas', 24];

      $persona = array_combine($atributos, $valores);

      print_r($persona);

      array_combine me gustó:

      $nombres = ['Jozedu', 'Macla', 'Gus', 'Sebas', 'Rodri', 'Petu'];

      $edad = ['36', '34', '32', '21', '18', '15'];

      $todo = array_combine($nombres,$edad);

      print_r ($todo);

      Hay funciones para manejar string?

      Hola Jonathan, claro que sí, hay un montón de funciones. Te dejo el link con la documentación oficial de las funciones de manipulación de strings. Funciones de string

      Una pregunta... Ya sé que para las constantes se utiliza mayúsculas; pero he visto que para variables “normales” utilizan la notación snake_case. ¿Por qué esta notación?

      Yo intenté usar sort y rsort y almacenar el valor que estas dos funciones devolvían en variables, pero en su lugar me mandó bool(true) en ambas situaciones, leí la documentación y le pregunté a ChatGPT por qué del error y me dijo que al almacenar estos valores en funciones lo que estamos diciendo es "Si el arreglo se ha ordenado"

      Les dejo el código por si quieren probarlo:

      $elementos_repetidos = [44,22,22,44,33,11,55,55,66,77]; $elementos_unicos = array_unique($elementos_repetidos); //Devuelve true $elementos_ordenados_mayor_menor = sort($elementos_unicos); $elementos_ordenados_menor_mayor = rsort($elementos_unicos); var_dump($elementos_ordenados_mayor_menor); echo "<br>"; var_dump($elementos_ordenados_menor_mayor); echo "<br>"; //Devuelve el arreglo ordenado $mayor_menor = $elementos_unicos; $menor_mayor = $elementos_unicos; sort($mayor_menor); rsort($menor_mayor); var_dump($mayor_menor); echo "<br>"; var_dump($menor_mayor);
      <?php $edades = [18, 20, 31, 40]; //count: cuenta la cantidad de elementos. #echo count($edades); //4 echo "<br>"; //array_push: agrega un elemento al final # echo array_push($edades, 13); //5 echo "<br>"; //is_array: Verifica si es un arreglo. /* $noEsArreglo = "No es"; var_dump(is_array($noEsArreglo)); //False echo "<br>"; */ //explode: Convierte una cadena en un array. /* $listaFrutas = "fresa,cereza,manzana"; $arrayListaFrutas = explode(",", $listaFrutas); var_dump($arrayListaFrutas); echo "{$arrayListaFrutas[1]} si es fruta."; */ // implode: Convierte un array a una cadena. $arrayListaFrutas = ["fresa","cereza","mazana"]; $listaFrutas = implode(",", $arrayListaFrutas); var_dump($listaFrutas); echo "<br>"; ```\<?php $edades = \[18, 20, 31, 40]; //count: cuenta la cantidad de elementos.#echo count($edades); //4echo "\<br>"; //array\_push: agrega un elemento al final# echo array\_push($edades, 13); //5echo "\<br>"; //is\_array: Verifica si es un arreglo./\* $noEsArreglo = "No es";var\_dump(is\_array($noEsArreglo)); //Falseecho "\<br>"; \*/ //explode: Convierte una cadena en un array./\* $listaFrutas = "fresa,cereza,manzana";$arrayListaFrutas = explode(",", $listaFrutas);var\_dump($arrayListaFrutas);echo "{$arrayListaFrutas\[1]} si es fruta."; \*/ // implode: Convierte un array a una cadena.$arrayListaFrutas = \["fresa","cereza","mazana"];$listaFrutas = implode(",", $arrayListaFrutas);var\_dump($listaFrutas);echo "\<br>";

      A mi me gusto el array_map siento puede ser útil ya que aplica una función a cada elemento de uno o varios arreglos y te devuelve un nuevo arreglo con los resultados.

      Por ejemplo imagínate que tienes un arreglo de precios y quieres agregar el símbolo de dólar a cada uno, puedes hacer algo como:

      $precios = [10, 15, 20, 25]; $preciosFormateados = array_map(function($precio) { return '$' . $precio; }, $precios); print_r($preciosFormateados); ```Esto daría como resultado:&#x20; ```js Array ( [0] => $10 [1] => $15 [2] => $20 [3] => $25 ) ```Así puedes realizar transformaciones rápidas en arreglos sin necesidad de usar bucles.