Este documento describe las listas doblemente enlazadas, donde cada nodo contiene punteros al nodo anterior y siguiente, permitiendo recorrer la lista en ambas direcciones. Explica cómo insertar y eliminar nodos de una lista doblemente enlazada mediante la manipulación de estos punteros.
El método de ordenamiento Shell fue creado por Donald Shell en 1959. Es una versión mejorada del método de inserción directa que ordena elementos mediante comparaciones e intercambios con saltos de tamaño decreciente para ordenar los elementos en el arreglo de manera más eficiente que la inserción directa. Su complejidad es de orden n*(log n)2 pero la mejor secuencia de saltos para una eficiencia óptima cuando hay muchos elementos no ha sido determinada.
El documento describe el modelo de arquitectura de software cliente-servidor. Este modelo organiza el sistema como un conjunto de servicios y servidores que son utilizados por clientes. Los principales componentes son los servidores que ofrecen servicios, los clientes que llaman a esos servicios, y una red que permite a los clientes acceder a los servicios. Se provee un ejemplo de un sistema de biblioteca y fotografía basado en este modelo.
Este documento describe el funcionamiento de una pila, incluyendo su estructura, operaciones básicas como apilar, desapilar y recorrer elementos, y nuevas funciones como contar elementos y calcular el promedio. Explica que una pila sigue el principio LIFO (último en entrar, primero en salir) y describe las funciones necesarias para inicializar, insertar, eliminar y recorrer elementos de una pila.
Este documento explica cómo resolver un problema utilizando una condición SI anidada. Explica que las condiciones SI anidadas permiten probar múltiples resultados posibles dependiendo de si una condición es verdadera o falsa. Luego presenta un ejemplo de algoritmo que califica el puntaje obtenido al lanzar tres dados dependiendo de la cantidad de seises obtenidos. Finalmente, detalla los pasos para resolver este problema utilizando análisis, pseudocódigo, diagrama de flujo y prueba de escritorio.
Este documento resume los principales puntos del reglamento estudiantil de la Universidad Popular del Cesar. Según el reglamento, los estudiantes deben cumplir con una serie de normas de comportamiento y convivencia. El reglamento también establece los procedimientos para cambiar de carrera, las sanciones por fraude académico, y los derechos de los estudiantes a presentar pruebas de habilitación si pierden una asignatura. En general, el reglamento busca establecer una estructura que regule la convivencia de la comunidad
Un wiki es un sitio web que permite que varios usuarios editen su contenido de manera asíncrona (sólo uno a la vez). Los wikis son útiles para trabajos basados en escritura que se desarrollan poco a poco, ya sea de forma individual o colaborativa. También son recomendables cuando al profesor le interesa evaluar los procesos de trabajo y no solo el producto final.
El documento discute la brecha digital y el uso de las TIC en España, con un enfoque en los jóvenes. Explica que dos tercios de la población mundial no tiene acceso a Internet, y que las regiones con menor acceso son África y Asia-Pacífico. También describe que los jóvenes españoles de 16 a 24 años usan Internet con alta frecuencia, independientemente de su género. Finalmente, analiza posibles consecuencias del uso de las TIC en los primeros años de aprendizaje y el papel del maestro en
Este documento describe las listas doblemente enlazadas, donde cada nodo contiene punteros al nodo anterior y siguiente, permitiendo recorrer la lista en ambas direcciones. Explica cómo insertar y eliminar nodos de una lista doblemente enlazada mediante la manipulación de estos punteros.
El método de ordenamiento Shell fue creado por Donald Shell en 1959. Es una versión mejorada del método de inserción directa que ordena elementos mediante comparaciones e intercambios con saltos de tamaño decreciente para ordenar los elementos en el arreglo de manera más eficiente que la inserción directa. Su complejidad es de orden n*(log n)2 pero la mejor secuencia de saltos para una eficiencia óptima cuando hay muchos elementos no ha sido determinada.
El documento describe el modelo de arquitectura de software cliente-servidor. Este modelo organiza el sistema como un conjunto de servicios y servidores que son utilizados por clientes. Los principales componentes son los servidores que ofrecen servicios, los clientes que llaman a esos servicios, y una red que permite a los clientes acceder a los servicios. Se provee un ejemplo de un sistema de biblioteca y fotografía basado en este modelo.
Este documento describe el funcionamiento de una pila, incluyendo su estructura, operaciones básicas como apilar, desapilar y recorrer elementos, y nuevas funciones como contar elementos y calcular el promedio. Explica que una pila sigue el principio LIFO (último en entrar, primero en salir) y describe las funciones necesarias para inicializar, insertar, eliminar y recorrer elementos de una pila.
Este documento explica cómo resolver un problema utilizando una condición SI anidada. Explica que las condiciones SI anidadas permiten probar múltiples resultados posibles dependiendo de si una condición es verdadera o falsa. Luego presenta un ejemplo de algoritmo que califica el puntaje obtenido al lanzar tres dados dependiendo de la cantidad de seises obtenidos. Finalmente, detalla los pasos para resolver este problema utilizando análisis, pseudocódigo, diagrama de flujo y prueba de escritorio.
Este documento resume los principales puntos del reglamento estudiantil de la Universidad Popular del Cesar. Según el reglamento, los estudiantes deben cumplir con una serie de normas de comportamiento y convivencia. El reglamento también establece los procedimientos para cambiar de carrera, las sanciones por fraude académico, y los derechos de los estudiantes a presentar pruebas de habilitación si pierden una asignatura. En general, el reglamento busca establecer una estructura que regule la convivencia de la comunidad
Un wiki es un sitio web que permite que varios usuarios editen su contenido de manera asíncrona (sólo uno a la vez). Los wikis son útiles para trabajos basados en escritura que se desarrollan poco a poco, ya sea de forma individual o colaborativa. También son recomendables cuando al profesor le interesa evaluar los procesos de trabajo y no solo el producto final.
El documento discute la brecha digital y el uso de las TIC en España, con un enfoque en los jóvenes. Explica que dos tercios de la población mundial no tiene acceso a Internet, y que las regiones con menor acceso son África y Asia-Pacífico. También describe que los jóvenes españoles de 16 a 24 años usan Internet con alta frecuencia, independientemente de su género. Finalmente, analiza posibles consecuencias del uso de las TIC en los primeros años de aprendizaje y el papel del maestro en
Este resumen describe la historia bíblica de Daniel y el foso de los leones. Darío se convirtió en el nuevo rey de Babilonia y escogió a Daniel como uno de sus líderes principales. Líderes celosos conspiraron contra Daniel y lograron que el rey aprobara una ley que prohibía la oración a cualquier dios excepto al rey. A pesar de esto, Daniel continuó orando a Dios. Fue arrestado y sentenciado a morir en el foso de los leones. Sin embargo, Dios protegió a Daniel milagrosamente
El documento habla sobre el concepto de benchmarking. Explica que el benchmarking comenzó a difundirse en los años 80 aunque sus orígenes se remontan a 1953. Consiste en identificar las mejores prácticas de otras organizaciones para compararlas y adaptarlas a la propia organización con el fin de mejorar el desempeño. Existen diferentes tipos de benchmarking como el competitivo, cooperativo, colaborador e interno. El benchmarking ha impactado positivamente a muchas organizaciones al permitirles mejorar rápidamente.
Trabajo william morris. veronica sanchez riquelmeOnempresas
William Morris nació en 1834 en Inglaterra. Fue un diseñador, escritor y activista socialista influyente del siglo XIX. Estudió en Marlborough College y Exeter College de Oxford, donde se interesó por el arte y la religión. En 1861 fundó su propia empresa de diseño Morris, Marshall, Faulkner & Co. Más tarde fundó la Kelmscott Press en 1891, donde produjo ediciones de alta calidad de obras literarias usando tipografías diseñadas por él mismo que se basaban en estilos medievales. Morris tuvo una gran
SWEDISHNESS SELLS: Brand Perception in Germany and Sweden.MANDEL
This document discusses how the image of a country can influence brand perception and vice versa. It examines Sweden's nation branding strategy and how Swedish brands communicate their Swedishness. Some key points:
1. Sweden has developed a coherent nation branding strategy focused on communicating values of innovation, openness, care and authenticity, summarized as "progressivity."
2. Swedish brands actively promote their Swedish origin through symbols, language references, and imagery related to Swedish culture and landscapes. This "borrowed origin" aims to increase brand recognition and trust.
3. Sweden ranks highly in global indexes measuring aspects like quality of life, education, talent, and economic competitiveness. However, its brand image is stronger in culturally
Ideation, business models; and how and where to startSaberi Marais
Presentation promotes the Lean Startup principles and includes Steve Blank's cusotmer development process and Osterwalder Business Model generation canvas as recommended by the authors
La cadena epidemiológica describe la secuencia de eventos que conducen a la transmisión de una enfermedad infecciosa. Consta de seis eslabones: el agente infeccioso, la fuente de infección, la puerta de salida, la vía de diseminación, la puerta de entrada y el huésped susceptible. El documento explica cada uno de estos eslabones y propone medidas de control y prevención para interrumpir la transmisión en cada etapa de la cadena.
En nuestras presentaciones no esta toda la informacion de la clase, si desean obtener la informacion completa contactense con nosotros al correo: grupo_atlas@hotmail.com o via facebook.
1) O documento é uma apostila de Libras com atividades sobre o alfabeto, números, cores, família e palavras.
2) Inclui exercícios de ligar sinais, escrever nomes, contar idade e desenhar membros da família.
3) Também apresenta atividades com vogais e consoantes como pintar frutas e formar palavras.
Anatomia Grupo Atlas Mano Miembro SuperiorGrupo Atlas
El documento describe la anatomía de la mano humana. Detalla los huesos, músculos, vasos sanguíneos e inervación de la mano, incluyendo el túnel carpiano, los arcos vasculares de la mano y los efectos de lesiones en los nervios como el síndrome del túnel carpiano y la mano en garra.
Suspension bridges have several key components: cables that suspend the roadway from towers, towers that stabilize the cables, and anchorages that provide structure and keep the cables tight. A typical construction process involves building tower foundations, erecting the towers, installing saddles and cables between the towers, adding vertical suspender cables to hang the roadway, and constructing the deck between the towers. The main forces in a suspension bridge are tension in the cables and compression in the towers. Some of the world's largest suspension bridges include the Akashi Kaikyō Bridge in Japan and the Sidu River Bridge in China.
El documento presenta diferentes estrategias didácticas para la enseñanza. Explica que las estrategias de enseñanza son los recursos y procedimientos utilizados por los profesores para promover aprendizajes significativos. Luego clasifica las estrategias en preinstruccionales, coinstruccionales y posinstruccionales dependiendo de cuándo se utilizan en el proceso de enseñanza. Algunas estrategias discutidas incluyen objetivos, resúmenes, ilustraciones, preguntas y mapas conceptuales.
ARTERIAS DEL MIEMBRO SUPERIOR (RESUMEN DEL GRUPO ATLAS)Grupo Atlas
Este documento describe las principales arterias del miembro superior humano, incluyendo la arteria axilar, braquial, radial y cubital. Describe las ramificaciones y ramas terminales de cada arteria, así como varios arcos arteriales en la mano, incluyendo el arco palmar profundo, arco palmar superficial, arco transverso anterior del carpo y arco dorsal del carpo.
DILEMA DO ENGAJAMENTO E A DINÂMICA DA ATRATIVIDADE DIGITAL - Marcelo MinuttiMarcelo Minutti
Dilema do Engajamento, Matriz de Engajamento, Dinâmica da Atratividade, Rede de Confiança e Funil do Engajamento são alguns dos conceitos tratados neste artigo do Prof. Marcelo Minutti e fundamentais para o entendimento do processo de engajamento do internauta em atividades online. Traz insights importantes para marcas e empresas que precisam criar estratégias digitais que envolvam consumidores e outros públicos em seus temas de interesse.
Este documento presenta 15 problemas de programación resueltos utilizando pseudocódigo. Los problemas cubren temas como bucles, condicionales, manejo de números, cálculos y más. Cada problema contiene la descripción, el pseudocódigo de la solución y una breve explicación.
Este documento explica las funciones trigonométricas (seno, coseno y tangente). Define las funciones trigonométricas como las relaciones entre los ángulos y lados de un triángulo rectángulo. Explica que el seno es el cociente entre el cateto opuesto y la hipotenusa, el coseno es el cociente entre el cateto adyacente y la hipotenusa, y la tangente es el cociente entre el cateto opuesto y el cateto adyacente. El documento también cubre las otras funciones trigonométricas y cómo
El documento describe los componentes y funcionamiento de los discos duros. Explica que los discos duros almacenan datos magnéticamente y tienen mayor capacidad que otros dispositivos como discos flexibles. Contiene platos giratorios con cabezales que pueden leer y escribir datos en cualquier posición de los platos. También compara los formatos FAT, FAT32 y NTFS discutiendo sus ventajas y limitaciones para el almacenamiento de archivos.
Estrategias de enseñanza para la promoción de aprendizajes significativos.Nilvia Lizama
Datos relevantes sobre de enseñanza para la promoción de aprendizajes significativos, recopilados del texto de Frida Díaz Barriga Arceo y Gerardo Hernández Rojas.
Este documento contiene una lista de contactos del personal de la Universidad El Poli, incluyendo nombres, cargos, extensiones y direcciones de correo electrónico. La lista incluye al rector, vicerrectores, decanos, profesores, personal administrativo y de servicios de diferentes facultades y dependencias de la universidad.
Peritos en el ncpp diplomado feb 2011 (exposicion)roypiscis
Este documento habla sobre el rol de los peritos en el nuevo Código Procesal Penal. Brevemente describe que los peritos son personas expertas designadas para ilustrar a los jueces sobre temas que requieren conocimiento especializado. También establece que los peritos deben limitarse a evaluaciones técnicas sin emitir juicios sobre la responsabilidad penal.
Motivación:
Estamos siempre requiriendo de programadores para poder llevar a cabo nuestro proyecto web, pero ni siquiera tenemos una idea clara de que queremos. Eso hace que los proyectos lleven más tiempo del que necesitan.
Resumen:
El uso de herramientas como Balsamiq o Pencil, inclusive tan rudimentarias como Apple’s Keynote o Powerpoint, pueden eliminar barreras al momento de buscar un MVP. Introducir elementos o vocablos como Wireframing, Mockups, MVP para el público no tan experimentado. La idea es que personas que nunca hayan hecho un mockup, aprendan a hacerlo rápidamente.
El documento describe el funcionamiento del puerto paralelo de una PC, incluyendo sus 17 líneas de señal divididas en líneas de control, estado y datos. Explica que cada línea puede ser referenciada de forma independiente a través de tres registros: datos, estado y control, los cuales permiten la comunicación bidireccional con dispositivos.
Este resumen describe la historia bíblica de Daniel y el foso de los leones. Darío se convirtió en el nuevo rey de Babilonia y escogió a Daniel como uno de sus líderes principales. Líderes celosos conspiraron contra Daniel y lograron que el rey aprobara una ley que prohibía la oración a cualquier dios excepto al rey. A pesar de esto, Daniel continuó orando a Dios. Fue arrestado y sentenciado a morir en el foso de los leones. Sin embargo, Dios protegió a Daniel milagrosamente
El documento habla sobre el concepto de benchmarking. Explica que el benchmarking comenzó a difundirse en los años 80 aunque sus orígenes se remontan a 1953. Consiste en identificar las mejores prácticas de otras organizaciones para compararlas y adaptarlas a la propia organización con el fin de mejorar el desempeño. Existen diferentes tipos de benchmarking como el competitivo, cooperativo, colaborador e interno. El benchmarking ha impactado positivamente a muchas organizaciones al permitirles mejorar rápidamente.
Trabajo william morris. veronica sanchez riquelmeOnempresas
William Morris nació en 1834 en Inglaterra. Fue un diseñador, escritor y activista socialista influyente del siglo XIX. Estudió en Marlborough College y Exeter College de Oxford, donde se interesó por el arte y la religión. En 1861 fundó su propia empresa de diseño Morris, Marshall, Faulkner & Co. Más tarde fundó la Kelmscott Press en 1891, donde produjo ediciones de alta calidad de obras literarias usando tipografías diseñadas por él mismo que se basaban en estilos medievales. Morris tuvo una gran
SWEDISHNESS SELLS: Brand Perception in Germany and Sweden.MANDEL
This document discusses how the image of a country can influence brand perception and vice versa. It examines Sweden's nation branding strategy and how Swedish brands communicate their Swedishness. Some key points:
1. Sweden has developed a coherent nation branding strategy focused on communicating values of innovation, openness, care and authenticity, summarized as "progressivity."
2. Swedish brands actively promote their Swedish origin through symbols, language references, and imagery related to Swedish culture and landscapes. This "borrowed origin" aims to increase brand recognition and trust.
3. Sweden ranks highly in global indexes measuring aspects like quality of life, education, talent, and economic competitiveness. However, its brand image is stronger in culturally
Ideation, business models; and how and where to startSaberi Marais
Presentation promotes the Lean Startup principles and includes Steve Blank's cusotmer development process and Osterwalder Business Model generation canvas as recommended by the authors
La cadena epidemiológica describe la secuencia de eventos que conducen a la transmisión de una enfermedad infecciosa. Consta de seis eslabones: el agente infeccioso, la fuente de infección, la puerta de salida, la vía de diseminación, la puerta de entrada y el huésped susceptible. El documento explica cada uno de estos eslabones y propone medidas de control y prevención para interrumpir la transmisión en cada etapa de la cadena.
En nuestras presentaciones no esta toda la informacion de la clase, si desean obtener la informacion completa contactense con nosotros al correo: grupo_atlas@hotmail.com o via facebook.
1) O documento é uma apostila de Libras com atividades sobre o alfabeto, números, cores, família e palavras.
2) Inclui exercícios de ligar sinais, escrever nomes, contar idade e desenhar membros da família.
3) Também apresenta atividades com vogais e consoantes como pintar frutas e formar palavras.
Anatomia Grupo Atlas Mano Miembro SuperiorGrupo Atlas
El documento describe la anatomía de la mano humana. Detalla los huesos, músculos, vasos sanguíneos e inervación de la mano, incluyendo el túnel carpiano, los arcos vasculares de la mano y los efectos de lesiones en los nervios como el síndrome del túnel carpiano y la mano en garra.
Suspension bridges have several key components: cables that suspend the roadway from towers, towers that stabilize the cables, and anchorages that provide structure and keep the cables tight. A typical construction process involves building tower foundations, erecting the towers, installing saddles and cables between the towers, adding vertical suspender cables to hang the roadway, and constructing the deck between the towers. The main forces in a suspension bridge are tension in the cables and compression in the towers. Some of the world's largest suspension bridges include the Akashi Kaikyō Bridge in Japan and the Sidu River Bridge in China.
El documento presenta diferentes estrategias didácticas para la enseñanza. Explica que las estrategias de enseñanza son los recursos y procedimientos utilizados por los profesores para promover aprendizajes significativos. Luego clasifica las estrategias en preinstruccionales, coinstruccionales y posinstruccionales dependiendo de cuándo se utilizan en el proceso de enseñanza. Algunas estrategias discutidas incluyen objetivos, resúmenes, ilustraciones, preguntas y mapas conceptuales.
ARTERIAS DEL MIEMBRO SUPERIOR (RESUMEN DEL GRUPO ATLAS)Grupo Atlas
Este documento describe las principales arterias del miembro superior humano, incluyendo la arteria axilar, braquial, radial y cubital. Describe las ramificaciones y ramas terminales de cada arteria, así como varios arcos arteriales en la mano, incluyendo el arco palmar profundo, arco palmar superficial, arco transverso anterior del carpo y arco dorsal del carpo.
DILEMA DO ENGAJAMENTO E A DINÂMICA DA ATRATIVIDADE DIGITAL - Marcelo MinuttiMarcelo Minutti
Dilema do Engajamento, Matriz de Engajamento, Dinâmica da Atratividade, Rede de Confiança e Funil do Engajamento são alguns dos conceitos tratados neste artigo do Prof. Marcelo Minutti e fundamentais para o entendimento do processo de engajamento do internauta em atividades online. Traz insights importantes para marcas e empresas que precisam criar estratégias digitais que envolvam consumidores e outros públicos em seus temas de interesse.
Este documento presenta 15 problemas de programación resueltos utilizando pseudocódigo. Los problemas cubren temas como bucles, condicionales, manejo de números, cálculos y más. Cada problema contiene la descripción, el pseudocódigo de la solución y una breve explicación.
Este documento explica las funciones trigonométricas (seno, coseno y tangente). Define las funciones trigonométricas como las relaciones entre los ángulos y lados de un triángulo rectángulo. Explica que el seno es el cociente entre el cateto opuesto y la hipotenusa, el coseno es el cociente entre el cateto adyacente y la hipotenusa, y la tangente es el cociente entre el cateto opuesto y el cateto adyacente. El documento también cubre las otras funciones trigonométricas y cómo
El documento describe los componentes y funcionamiento de los discos duros. Explica que los discos duros almacenan datos magnéticamente y tienen mayor capacidad que otros dispositivos como discos flexibles. Contiene platos giratorios con cabezales que pueden leer y escribir datos en cualquier posición de los platos. También compara los formatos FAT, FAT32 y NTFS discutiendo sus ventajas y limitaciones para el almacenamiento de archivos.
Estrategias de enseñanza para la promoción de aprendizajes significativos.Nilvia Lizama
Datos relevantes sobre de enseñanza para la promoción de aprendizajes significativos, recopilados del texto de Frida Díaz Barriga Arceo y Gerardo Hernández Rojas.
Este documento contiene una lista de contactos del personal de la Universidad El Poli, incluyendo nombres, cargos, extensiones y direcciones de correo electrónico. La lista incluye al rector, vicerrectores, decanos, profesores, personal administrativo y de servicios de diferentes facultades y dependencias de la universidad.
Peritos en el ncpp diplomado feb 2011 (exposicion)roypiscis
Este documento habla sobre el rol de los peritos en el nuevo Código Procesal Penal. Brevemente describe que los peritos son personas expertas designadas para ilustrar a los jueces sobre temas que requieren conocimiento especializado. También establece que los peritos deben limitarse a evaluaciones técnicas sin emitir juicios sobre la responsabilidad penal.
Motivación:
Estamos siempre requiriendo de programadores para poder llevar a cabo nuestro proyecto web, pero ni siquiera tenemos una idea clara de que queremos. Eso hace que los proyectos lleven más tiempo del que necesitan.
Resumen:
El uso de herramientas como Balsamiq o Pencil, inclusive tan rudimentarias como Apple’s Keynote o Powerpoint, pueden eliminar barreras al momento de buscar un MVP. Introducir elementos o vocablos como Wireframing, Mockups, MVP para el público no tan experimentado. La idea es que personas que nunca hayan hecho un mockup, aprendan a hacerlo rápidamente.
El documento describe el funcionamiento del puerto paralelo de una PC, incluyendo sus 17 líneas de señal divididas en líneas de control, estado y datos. Explica que cada línea puede ser referenciada de forma independiente a través de tres registros: datos, estado y control, los cuales permiten la comunicación bidireccional con dispositivos.
Material de administración y auditoría de la función informáticaMichelle Torres
Presentación con la información necesaria para el licenciamiento de un software y la protección de los derechos de autor.
Contáctame:
Twitter: @nmicht
Blog: http://michelle.slmx.org
This document is the revision 5 reference manual for the Motorola M68HC12 and HCS12 microcontrollers. It provides an overview of the microcontroller architecture including registers, data types, memory organization, and instruction set. It also describes the various addressing modes and exception processing. The revision history section details corrections made to instruction descriptions and tables in this version.
Taller de programación de sistemas. Descripción de práctica 2Michelle Torres
Este documento describe una práctica de programación de sistemas para identificar modos de direccionamiento en una tabla de códigos de operación. Los estudiantes deben modificar un programa ensamblador para buscar instrucciones en un archivo TABOP.TXT que identifica los modos de direccionamiento de cada instrucción, y luego modificar una línea del programa para incluir los modos identificados.
Modos de direccionamiento para el HC12 de motorolaMichelle Torres
Descripción de las características sintácticas de los modos de direccionamiento utilizados en el HC12 de Motorola.
Contáctame:
Twitter: @nmicht
Blog: http://michelle.slmx.org
El documento presenta una introducción al lenguaje de programación Java, cubriendo temas como el ambiente de desarrollo, la estructura de un programa Java, variables, tipos de datos primitivos, operaciones aritméticas y lógicas, condicionales e iteraciones. Explica conceptos básicos como compilación, clases, paquetes, tipos de datos, impresión en consola, constantes y comentarios.
Este currículum vitae resume los detalles académicos y profesionales de un profesor, incluyendo su educación, experiencia laboral, publicaciones, libros de texto publicados, y logros. Proporciona información básica como el nombre, institución donde trabaja actualmente, puestos y experiencia laboral previa, grados académicos obtenidos, asignaturas impartidas, y publicaciones y libros escritos.
Introducción a la programación en ambientes webMichelle Torres
Tercera parte del curso Programación para Internet
Incluye un vistazo general a las distintas tecnologías de programación del lado del cliente y un aprendizaje breve acerca de JavaScript.
Se concluye con una explicación de lenguajes de guion del lado del servidor asi como de CGI
El documento describe los conceptos básicos de programación para internet, incluyendo la historia de la World Wide Web, el protocolo HTTP, el modelo cliente-servidor, los tipos de servidores web como Apache y su instalación, y las tecnologías de programación del lado del cliente y del servidor.
El documento presenta una introducción al lenguaje XHTML para la creación de páginas web, incluyendo las etiquetas básicas, la estructura de un documento XHTML correcto con DOCTYPE, encabezados, cuerpo y más. También explica el uso de hojas de estilo CSS para dar formato a las páginas de manera separada del contenido.
Este documento proporciona una introducción a MySQL para principiantes. Explica cómo conectarse a una base de datos MySQL, crear y modificar bases de datos y tablas, insertar y consultar datos, y realizar operaciones comunes como ordenar, agrupar y realizar cálculos. También cubre temas como tipos de datos, restricciones, manejo de fechas y consultas con múltiples tablas. El objetivo es enseñar los conocimientos básicos necesarios para crear y utilizar una base de datos sencilla en MySQL.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...AMADO SALVADOR
Descarga el Catálogo General de Tarifas 2024 de Vaillant, líder en tecnología para calefacción, ventilación y energía solar térmica y fotovoltaica. En Amado Salvador, como distribuidor oficial de Vaillant, te ofrecemos una amplia gama de productos de alta calidad y diseño innovador para tus proyectos de climatización y energía.
Descubre nuestra selección de productos Vaillant, incluyendo bombas de calor altamente eficientes, fancoils de última generación, sistemas de ventilación de alto rendimiento y soluciones de energía solar fotovoltaica y térmica para un rendimiento óptimo y sostenible. El catálogo de Vaillant 2024 presenta una variedad de opciones en calderas de condensación que garantizan eficiencia energética y durabilidad.
Con Vaillant, obtienes más que productos de climatización: control avanzado y conectividad para una gestión inteligente del sistema, acumuladores de agua caliente de gran capacidad y sistemas de aire acondicionado para un confort total. Confía en la fiabilidad de Amado Salvador como distribuidor oficial de Vaillant, y en la resistencia de los productos Vaillant, respaldados por años de experiencia e innovación en el sector.
En Amado Salvador, distribuidor oficial de Vaillant en Valencia, no solo proporcionamos productos de calidad, sino también servicios especializados para profesionales, asegurando que tus proyectos cuenten con el mejor soporte técnico y asesoramiento. Descarga nuestro catálogo y descubre por qué Vaillant es la elección preferida para proyectos de climatización y energía en Amado Salvador.
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialAMADO SALVADOR
Explora el catálogo completo de cajas fuertes BTV, disponible a través de Amado Salvador, distribuidor oficial de BTV. Este catálogo presenta una amplia variedad de cajas fuertes, cada una diseñada con la más alta calidad para ofrecer la máxima seguridad y satisfacer las diversas necesidades de protección de nuestros clientes.
En Amado Salvador, como distribuidor oficial de BTV, ofrecemos productos que destacan por su innovación, durabilidad y robustez. Las cajas fuertes BTV son reconocidas por su eficiencia en la protección contra robos, incendios y otros riesgos, lo que las convierte en una opción ideal tanto para uso doméstico como comercial.
Amado Salvador, distribuidor oficial BTV, asegura que cada producto cumpla con los más estrictos estándares de calidad y seguridad. Al adquirir una caja fuerte a través de Amado Salvador, distribuidor oficial BTV, los clientes pueden tener la tranquilidad de que están obteniendo una solución confiable y duradera para la protección de sus pertenencias.
Este catálogo incluye detalles técnicos, características y opciones de personalización de cada modelo de caja fuerte BTV. Desde cajas fuertes empotrables hasta modelos de alta seguridad, Amado Salvador, como distribuidor oficial de BTV, tiene la solución perfecta para cualquier necesidad de seguridad. No pierdas la oportunidad de conocer todos los beneficios y características de las cajas fuertes BTV y protege lo que más valoras con la calidad y seguridad que solo BTV y Amado Salvador, distribuidor oficial BTV, pueden ofrecerte.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
1. Arreglos
PROGRAMACIÓN PARA INTERNET
● Los arreglos son los reyes indiscutibles de las
estructuras de datos avanzadas en PHP.
● Los arreglos en PHP son extremadamente flexibles,
permiten llaves numéricas de incremento automático,
llaves alfanuméricas o una mezcla de ambos, y son
capaces de almacenar casi cualquier valor, incluyendo
otros arreglos.
● Con más de setenta funciones para la manipulación
de ellos, los arreglos pueden hacer en la práctica
cualquier cosa que puedas imaginar y algo más.
Lic. Nancy Michelle Torres Villanueva 1
2. Arreglos...
PROGRAMACIÓN PARA INTERNET
● Todos los arreglos son colecciones ordenadas
de elementos, llamados elementos.
● Cada elemento tiene un valor, y es identificada
por una llave que es exclusiva del arreglo al
que pertenece.
● Las claves pueden ser números enteros o
cadenas.
Lic. Nancy Michelle Torres Villanueva 2
4. Acceso a los valores
PROGRAMACIÓN PARA INTERNET
Los valores contenidos en un arreglo se
pueden recuperar y modificar usando
corchetes [ ].
Lic. Nancy Michelle Torres Villanueva 4
5. PROGRAMACIÓN PARA INTERNET
● Siguiente llave numerica mas grande
$x[] = 10;
● Asignamos en que llave guardar
$x[’aa’] = 11;
● Imprimimos lo guardado en la llave 0, lo cual
será 10
echo $x[0];
Lic. Nancy Michelle Torres Villanueva 5
6. PROGRAMACIÓN PARA INTERNET
$newArray[0] = "PHP";
$newArray[1] = "MySQL";
$newArray[2] = "Apache";
● ¿Qué hace?
$newArray[2] = "Cherokee";
Lic. Nancy Michelle Torres Villanueva 6
7. PROGRAMACIÓN PARA INTERNET
$shopping = array( );
$shopping[] = "Leche";
$shopping[] = "Cafe";
$shopping[] = "Azucar";
● En que posiciones ha quedado cada elemento?
Lic. Nancy Michelle Torres Villanueva 7
8. PROGRAMACIÓN PARA INTERNET
$array = array(
"primero"=>1,
"segundo"=>2,
"tercero"=>3);
● Qué imprime?
print $array["segundo"];
Lic. Nancy Michelle Torres Villanueva 8
9. PROGRAMACIÓN PARA INTERNET
$numeros = array(
1=>"uno",
"dos",
"tres",
"cuatro");
● Cuál es la llave del item “tres”??
Lic. Nancy Michelle Torres Villanueva 9
10. PROGRAMACIÓN PARA INTERNET
$numeros = array(
1=>"uno",
3=>"tres",
5=>"cinco");
$numeros[]="otro";
● En que llave quedó el elemento “otro”?
Lic. Nancy Michelle Torres Villanueva 10
11. PROGRAMACIÓN PARA INTERNET
$a = array (
’4’ => 5,
’a’ => ’b’);
$a[] = 44;
● En qué llave quedará el item 44?
Lic. Nancy Michelle Torres Villanueva 11
12. PROGRAMACIÓN PARA INTERNET
$a = array (
’A’ => “Esta es una A”,
’B’ => “Esta es una B”);
$a[] = “Esta que será”;
● En qué llave quedará el item “Esta que será”?
Lic. Nancy Michelle Torres Villanueva 12
13. PROGRAMACIÓN PARA INTERNET
$numeros = array(1=>"uno", 3=>"tres",
5=>"cinco");
$numeros[2] = "dos";
$numeros[4] = "cuatro";
$numeros[6] = "seis";
● En que orden ha quedado el arreglo?
Lic. Nancy Michelle Torres Villanueva 13
14. PROGRAMACIÓN PARA INTERNET
● Se dice pues que las llaves son
automáticamente incrementales y siempre los
elementos se agregarán en el siguiente valor
mayor posible y al final del arreglo.
● Tenga en cuenta que las llaves diferencian
entre mayúsculas y minúsculas. Por lo tanto, la
llave "A" es diferente de 'a', pero las llaves '1' y
1 son los mismos.
Lic. Nancy Michelle Torres Villanueva 14
15. Impresión de arreglos
PROGRAMACIÓN PARA INTERNET
● PHP provee dos funciones para imprimir el
valor de una variable recursivamente:
● print_r()
● var_dump()
Lic. Nancy Michelle Torres Villanueva 15
16. print_r() y var_dump()
PROGRAMACIÓN PARA INTERNET
● var_dump() muestra además el tipo de dato
● var_dump() puede mostrar el valor de varias
variables al mismo tiempo
● print_r() puede regresar el valor como una
cadena
Lic. Nancy Michelle Torres Villanueva 16
17. Arreglos multidimensionales
PROGRAMACIÓN PARA INTERNET
● A menudo los datos no pueden ser
representados en un arreglo sencillo de escalar
en valores enteros, cadenas, booleanos, y
flotantes. Algunos datos sólo pueden estar
representados cuando los arreglos tienen otros
arreglos de valores.
Lic. Nancy Michelle Torres Villanueva 17
18. PROGRAMACIÓN PARA INTERNET
$array = array();
$array[] = array(
’tu’,
’yo’);
$array[] = array(
’el’,
’nos’);
echo $array[0][1] . $array[1][0];
● Qué imprime?
Lic. Nancy Michelle Torres Villanueva 18
21. Asignando a variables
independientes
PROGRAMACIÓN PARA INTERNET
● A veces es más fácil trabajar con los valores de
un arreglo mediante la asignación a las
variables individuales. Si bien esto puede ser
logrado mediante la extracción de elementos
individuales y la asignación de cada uno de
ellos a una variable diferente, PHP ofrece un
acceso rápido.
Lic. Nancy Michelle Torres Villanueva 21
22. $info = array('café', 'color', 'cafeína');
● Todas las variables
PROGRAMACIÓN PARA INTERNET
list($bebida, $color, $componente) = $info;
● Solo algunas variables
list($bebida, , $componente) = $info;
● Solo la tercera
list( , , $componente) = $info;
Lic. Nancy Michelle Torres Villanueva 22
23. Unión de arreglos
PROGRAMACIÓN PARA INTERNET
● Se logra con el operador +
● Los elementos con llaves repetidas solo se
muestran una vez, si el contenido es distinto,
esto representa perdida de información
Lic. Nancy Michelle Torres Villanueva 23
24. PROGRAMACIÓN PARA INTERNET
$a = array (1, 2, 3);
$b = array (’a’ => 1, ’b’ => 2, ’c’
=> 3);
$c = $a+$b;
● Cuál es el contenido de $c?
Lic. Nancy Michelle Torres Villanueva 24
25. PROGRAMACIÓN PARA INTERNET
$a = array (1, 2, 3);
$b = array (’a’ => 1, 2, 3);
$c = $a+$b;
● Cuál es el contenido de $c?
Lic. Nancy Michelle Torres Villanueva 25
26. PROGRAMACIÓN PARA INTERNET
$a = array ('a' => 1,
'b' => 2,
'c' => 3);
$b = array ('a' => 4,
'b' => 5,
'c' => 6);
$c = $a+$b;
● Cuál es el contenido de $c?
Lic. Nancy Michelle Torres Villanueva 26
27. PROGRAMACIÓN PARA INTERNET
$cosas = array("silla", "mesa",
"maleta", "caja");
$edificios = array("casa", "depa",
"palacio");
$partes = array("cabeza", "pies");
$agregados = $partes + $edificios +
$cosas;
● Cuál es el contenido de $agregados?
Lic. Nancy Michelle Torres Villanueva 27
28. Unión de arreglos sin perder
elementos
PROGRAMACIÓN PARA INTERNET
● La funcion array_merge() concatena uno o
mas arreglos, agregandolos al final.
● Si los arreglos tienen llaves de cadenas
iguales, entonces el ultimo valor va a
sobrescribir por la vez previa en que aparecio
la llave.
Lic. Nancy Michelle Torres Villanueva 28
31. Operadores de comparación de
arreglos
PROGRAMACIÓN PARA INTERNET
● ==
Mismo número de elementos con las mismas
llaves sin importar el orden.
● ===
Mismo par llave/valor en el mismo orden
Lic. Nancy Michelle Torres Villanueva 31
32. Tamaño de un arreglo
PROGRAMACIÓN PARA INTERNET
● El tamaño de un arreglo puede ser obtenido
con la función count().
● Funciona con cualquier variable, no
necesariamente arreglos, si se quiere asegurar
de que lo este usando en un arreglo, deberá
primero utilizar la función is_array()
Lic. Nancy Michelle Torres Villanueva 32
33. PROGRAMACIÓN PARA INTERNET
$a = array (1, 2, 4);
$b = array();
$c = 10;
echo count($a);
echo count($b);
if is_array($c)
echo count($c);
Lic. Nancy Michelle Torres Villanueva 33
34. Repeticiones de un elemento en
el arreglo
PROGRAMACIÓN PARA INTERNET
● count() devuelve el total de elementos en un
arreglo, pero si se desea contar de manera
unica los elementos se utiliza
array_count_values().
● Devuelve un arreglo asociando cada elemento
con la cantidad de repeticiones.
Lic. Nancy Michelle Torres Villanueva 34
36. Determinar si un elemento en una
posición dada existe
PROGRAMACIÓN PARA INTERNET
$a = array (’a’ => 1, ’b’ => 2);
echo isset ($a[’a’]);
echo isset ($a[’c’]);
$a = array (’a’ => NULL, ’b’ => 2);
echo isset ($a[’a’]);
● Qué impresiones se obtienen?
Lic. Nancy Michelle Torres Villanueva 36
37. Determinar si una llave existe
PROGRAMACIÓN PARA INTERNET
$a = array (’a’ => NULL, ’b’ => 2);
echo array_key_exists ('a',$a);
● Qué aparece en pantalla?
Lic. Nancy Michelle Torres Villanueva 37
38. Buscar si un elemento existe en
el arreglo
PROGRAMACIÓN PARA INTERNET
$a = array (’a’ => NULL, ’b’ => 2);
echo in_array (2, $a);
● Qué aparece en pantalla?
● Se puede pasar un tercer parámetro para
obligar el tipo de dato.
Lic. Nancy Michelle Torres Villanueva 38
39. Obtener la posición de un
elemento en el arreglo
PROGRAMACIÓN PARA INTERNET
● array_search() funciona igual que in_array()
solo que este devolverá la llave. Si el valor no
fue encontrado devuelve false.
● Tiene un tercer parámetro opcional para obligar
la concordancia del tipo de dato
$a = array (’a’ => NULL, ’b’ => 2);
echo array_search (2, $a);
● Qué aparece en pantalla?
Lic. Nancy Michelle Torres Villanueva 39
40. Un arreglo con las llaves
PROGRAMACIÓN PARA INTERNET
● Con array_keys() se obtiene un arreglo con las
llaves de otro arreglo.
● Se pueden poner parámetros opcionales y
entonces solo devolverá las llaves de los
elementos indicados en los parámetros.
Lic. Nancy Michelle Torres Villanueva 40
42. Un arreglo sin llaves
PROGRAMACIÓN PARA INTERNET
● La función array_values() genera un nuevo
arreglo solamente con los valores y olvida las
llaves
Lic. Nancy Michelle Torres Villanueva 42
43. Eliminación de elementos
PROGRAMACIÓN PARA INTERNET
● Un elemento puede ser eliminado de un
arreglo, o un arreglo completo se puede
eliminar llamando a unset ( ).
● Sin embargo, la eliminación de un elemento no
reasigna indices.
Lic. Nancy Michelle Torres Villanueva 43
44. PROGRAMACIÓN PARA INTERNET
$favoritos = array("PHP", "Ace",
"COBOL", "Java", "C++");
● Eliminar COBOL del arreglo
unset($favoritos[2]);
Lic. Nancy Michelle Torres Villanueva 44
45. Eliminando elementos repetidos
PROGRAMACIÓN PARA INTERNET
● La función array_unique() devuelve un arreglo
sin items repetidos.
● Si el arreglo tiene llaves, se quedará con la
primer llave, y las siguientes ocasiones en que
se repita, serán omitidas.
Lic. Nancy Michelle Torres Villanueva 45
46. Un arreglo rellenado
PROGRAMACIÓN PARA INTERNET
● La función array_fill() crea un arreglo rellenado
con el dato indicado.
● Se debe indicar la primer llave, la cantidad de
repeticiones y el dato a repetir.
$unidad = array_fill(2, 5, "uno");
Array ( [2] => uno [3] => uno [4] =>
uno [5] => uno [6] => uno )
Lic. Nancy Michelle Torres Villanueva 46
47. Arreglo con una serie
PROGRAMACIÓN PARA INTERNET
● La función range() crea un arreglo con una
serie dentro.
● Se debe indicar el primer valor y el último valor.
Puede indicarse como parámetro opcional el
tipo de incremento
$letras = range("a", "z", 5);
Array ( [0] => a [1] => f [2] => k
[3] => p [4] => u [5] => z )
Lic. Nancy Michelle Torres Villanueva 47
48. Invertir un llaves por valores
PROGRAMACIÓN PARA INTERNET
● La función array_flip() invierte las llaves por
los valores en un arreglo.
$a = array (’a’, ’b’, ’c’);
array_flip ($a);
["a"]=> 0 , ["b"]=> 1 , ["c"]=> 2)
Lic. Nancy Michelle Torres Villanueva 48
49. Invertir el orden de un arreglo
PROGRAMACIÓN PARA INTERNET
● La función array_reverse() invierte el orden de
los elementos de un arreglo.
$cont = array("cero", "uno", "dos",
"tres", "cuatro");
$inverso = array_reverse($cont);
Array ( [4] => cuatro [3] => tres [2]
=> dos [1] => uno [0] => cero )
Lic. Nancy Michelle Torres Villanueva 49
50. Convertir un arreglo en una
cadena
PROGRAMACIÓN PARA INTERNET
● La función implode() regresa una cadena
creada por la union de cada uno de los
elementos en el arreglo, insertando una cadena
de unión entre cada elemento.
● join() es un alias de implode() y funciona
exactamente igual
$animales = array("canguro", "leon",
"jirafa”);
implode(", ", $animales);
Lic. Nancy Michelle Torres Villanueva 50
51. Convertir una cadena en un
arreglo
PROGRAMACIÓN PARA INTERNET
● La función explode() regresa un arreglo de
cadenas creadas por la ruptura de una cierta
cadena en cada ocurrencia despues de un
separador dado
$palabras = explode(" ", "Ahora es el
momento");
print_r($palabras);
Array ( [0] => Ahora [1] => es [2] => el [3] =>
momento )
Lic. Nancy Michelle Torres Villanueva 51
52. Iteraciones en un arreglo
PROGRAMACIÓN PARA INTERNET
● Existen varias funciones para poder trabajar co
las iteraciones dentro de un arreglo
● reset() Reinicia el puntero del arreglo para poder
recorrerlo.
● prev() Recorre el puntero a la posición anterior
● next() Recorre el puntero a la siguiente posición
● current() Entrega el valor guardado en la posición
actual
● key() Devuelve la llave de la posición actual
● end() Mueve el puntero a la posición final
Lic. Nancy Michelle Torres Villanueva 52
53. $array = array(’foo’ => ’bar’, ’baz’,
’bat’ => 2);
PROGRAMACIÓN PARA INTERNET
function displayArray($array) {
reset($array);
while (key($array) !== null) {
echo key($array).": ".current($array);
next($array);
}
}
Lic. Nancy Michelle Torres Villanueva 53
54. foreach()
PROGRAMACIÓN PARA INTERNET
● Es una manera sencilla de recorrer una arreglo.
$array = array(’foo’, ’bar’, ’baz’);
foreach ($array as $key => $value) {
echo "$key: $value";
}
Lic. Nancy Michelle Torres Villanueva 54
55. Iteraciones con funciones
PROGRAMACIÓN PARA INTERNET
● array_walk()
Aplica una función definida por el usuario a cada
miembro de un arreglo.
● array_walk_recursive()
Aplica una función definida por el usuario
recursivamente a cada miembro de un arreglo.
Lic. Nancy Michelle Torres Villanueva 55
56. $frutas = array("d" => "limon", "a"
=> "naranja", "b" => "platano", "c"
=> "manzana");
PROGRAMACIÓN PARA INTERNET
function test_print($valor, $llave)
{
echo "$llave. $valor<br />n";
}
array_walk($frutas, 'test_print');
Lic. Nancy Michelle Torres Villanueva 56
57. $frutas = array("d" => "limon", "a"
=> "naranja", "b" => "platano", "c"
=> "manzana");
PROGRAMACIÓN PARA INTERNET
function test_alter(&$valor, $llave,
$prefix)
{
$valor = "$prefix: $valor";
}
array_walk($frutas,
'test_print','Fruta: ');
Lic. Nancy Michelle Torres Villanueva 57
58. $dulce = array('a' => 'manzana', 'b'
=> 'platano');
PROGRAMACIÓN PARA INTERNET
$frutas = array('dulce' => $dulce,
'acido' => 'limon');
function test_print($valor, $llave)
{
echo "$llave tiene $valorn";
}
array_walk_recursive($frutas,
'test_print');
Lic. Nancy Michelle Torres Villanueva 58
59. Ordenar un arreglo
PROGRAMACIÓN PARA INTERNET
● Los elementos de un arreglo se ordenan
ascedente o descendentemente, sin embargo,
las llaves se perderan en el proceso.
● sort() Ascendentemente
● rsort() Descendentemente
● Se tiene un segundo parámetro opcional para
indicar si el ordenamiento será alfabético o
numérico
Lic. Nancy Michelle Torres Villanueva 59
60. Banderas de ordenamiento
PROGRAMACIÓN PARA INTERNET
● SORT_REGULAR – Compara items
normalmente (No cambia los tipos)
● SORT_NUMERIC – Compara items
numéricamente
● SORT_STRING – Compara items como
cadenas
● SORT_LOCALE_STRING – Compara items
como cadenas basado en la configuración local
Lic. Nancy Michelle Torres Villanueva 60
62. PROGRAMACIÓN PARA INTERNET
$arr = array ("1", 10, "Maria",
"maria", "Memo", 1, 5, 9);
sort($arr);
● En que orden quedará este arreglo?
Lic. Nancy Michelle Torres Villanueva 62
63. Ordenar un arreglo manteniendo
las llaves
PROGRAMACIÓN PARA INTERNET
● Para que al ordenar las llaves se mantengan,
se utilizan las funciones:
● asort() Ascendentemente
● arsort() Descendentemente
Lic. Nancy Michelle Torres Villanueva 63
64. Ordenar un arreglo por sus llaves
PROGRAMACIÓN PARA INTERNET
● Hemos visto como ordenar un arreglo en base
a sus elementos, pero también podemos
ordenarlo en base a sus llaves.
● ksort() Ascendentemente
● krsort() Descendentemente
Lic. Nancy Michelle Torres Villanueva 64
65. Ordenar un arreglo utilizando una
función definida por el usuario
PROGRAMACIÓN PARA INTERNET
● Si deseas ordenar un arreglo de alguna otra
manera que no sea numérica o
alfabéticamente, puedes crear tu propia función
y luego mandar a ordenar con esa función.
● usort( ) Ordena el arreglo basado en el valor de
cada elemento aplicando una nueva llave
● uasort( ) Mantiene el par llave/valor
● uksort( ) Reordena los elementos basado en la
llave de cada elemento
Lic. Nancy Michelle Torres Villanueva 65
66. function cmp_length($a, $b)
{
PROGRAMACIÓN PARA INTERNET
if (strlen($a) < strlen($b))
return -1;
if (strlen($a) > strlen($b))
return 1;
//Si el tamaño es igual
return 0;
}
Lic. Nancy Michelle Torres Villanueva 66
68. Desordenando un arreglo
PROGRAMACIÓN PARA INTERNET
● La función shuffle() desacomoda un arreglo de
manera random. Las llaves se pierden
Lic. Nancy Michelle Torres Villanueva 68
69. Obtener un elemento random
PROGRAMACIÓN PARA INTERNET
● La función array_rand() toma uno o mas
elementos random del arreglo y devuelve la
llave de estos.
Lic. Nancy Michelle Torres Villanueva 69
70. Arreglos como pilas y colas
PROGRAMACIÓN PARA INTERNET
● PHP ofrece funciones para las actividades de
push y pull en las pilas y para shift y unshift en
las colas.
● array_push
● array_pop
● array_shift
● array_unshift
Lic. Nancy Michelle Torres Villanueva 70
71. PROGRAMACIÓN PARA INTERNET
$stack = array();
array_push($stack, ’bar’, ’baz’);
$last_in = array_pop($stack);
$queue = array(’qux’, ’bar’, ’baz’);
$first_element = array_shift($queue);
array_unshift($queue, ’foo’);
Lic. Nancy Michelle Torres Villanueva 71
72. Diferencia entre dos arreglos
PROGRAMACIÓN PARA INTERNET
● La función array_diff() compara dos arreglos y
devuelve la diferencia.
● Devuelve un arreglo con todas las entradas del
arreglo1 que no estan en los demás arreglos.
● No toma en cuenta las llaves, de modo que si
se desea tomar en cuenta las llaves, se utiliza
array_diff_assoc()
Lic. Nancy Michelle Torres Villanueva 72
73. Diferencia entre dos arreglos en
base a sus llaves
PROGRAMACIÓN PARA INTERNET
● Para buscar las diferencias entre dos arreglos
tomando en cuenta las llaves se utiliza la
función array_diff_key()
● En ambas funciones se puede utilizar una
función definida por el usuario y las funciones a
utilizar son array_diff_uassoc() y
array_diff_ukey()
Lic. Nancy Michelle Torres Villanueva 73
74. Intersección de dos arreglos
PROGRAMACIÓN PARA INTERNET
● La función array_intersect() devuelve todos
los elementos del arreglo1 que existen en los
demás arreglos.
● Si se desea revisar también las llaves se utiliza
la función array_intersect_assoc().
● array_intersect_key() se utiliza para validar
las llaves.
● array_intersect_ukey() y
array_intersect_uassoc() para validar con una
función
● Lic. Nancy Michelle Torres Villanueva 74
79. Question
¿Cómo se declaran
arreglos?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
80. Answer
$variable = array();
$var[]= “cosa”;
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
81. Question
¿Cuáles son los dos tipos de
arreglos y cuáles son sus
diferencias?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
82. Answer
Normales y Asociativos
Los normales son los que no
llevan un indice en cambio los
asociativos si llevan indice.
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
83. Question
¿Cómo elimino un
arreglo?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
84. Answer
unset ($arreglo[pos]); este
elimina una posición y no
reordena.
unset ($arreglo); este
elimina todo
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
85. Question
¿Cómo separo una
cadena en varias partes
de un arreglo?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
86. Answer
Con la función explode()
$variable = explode(" ", "ahora es el
tiempo");
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
87. Question
¿Cómo genero una
cadena a partir de un
arreglo?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
88. Answer
Con la función implode o join
print "Animales que he visto: " .
implode(", ", $animalesVistos);
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
89. Question
¿Cómo ordeno un arreglo
sin perder el orden de las
llaves(índices)?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
90. Answer
Con la función asort()
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
91. Question
¿Cómo ordeno de manera
inversa en base al índice?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
92. Answer
Con la función krsort()
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
93. Question
¿Cuál es la diferencia
entre la función
array_search() y
in_array()?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
94. Answer
La función array_search()
devuelve la posición, si no existe
devuelve falso.
La función in_array() solo dice si
existe o no o devueve resultado
booleano.
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
95. Question
¿Cuáles son las maneras
de concatenar arreglos?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
96. Answer
Con + y merge
La diferencia de estos son la
manera de preservar la
información en caso de estar
repetida
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
97. Question
¿Cómo invierto un
arreglo?
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
98. Answer
Con la función array_reverse()
Programación para Internet
Lic. Nancy Michelle Torres Villanueva
99. Arreglos
PROGRAMACIÓN PARA INTERNET
● Los arreglos son los reyes indiscutibles de las
estructuras de datos avanzadas en PHP.
● Los arreglos en PHP son extremadamente flexibles,
permiten llaves numéricas de incremento automático,
llaves alfanuméricas o una mezcla de ambos, y son
capaces de almacenar casi cualquier valor, incluyendo
otros arreglos.
● Con más de setenta funciones para la manipulación
de ellos, los arreglos pueden hacer en la práctica
cualquier cosa que puedas imaginar y algo más.
Lic. Nancy Michelle Torres Villanueva 1
100. Arreglos...
PROGRAMACIÓN PARA INTERNET
● Todos los arreglos son colecciones ordenadas
de elementos, llamados elementos.
● Cada elemento tiene un valor, y es identificada
por una llave que es exclusiva del arreglo al
que pertenece.
● Las claves pueden ser números enteros o
cadenas.
Lic. Nancy Michelle Torres Villanueva 2
102. Acceso a los valores
PROGRAMACIÓN PARA INTERNET
Los valores contenidos en un arreglo se
pueden recuperar y modificar usando
corchetes [ ].
Lic. Nancy Michelle Torres Villanueva 4
103. PROGRAMACIÓN PARA INTERNET
● Siguiente llave numerica mas grande
$x[] = 10;
● Asignamos en que llave guardar
$x[’aa’] = 11;
● Imprimimos lo guardado en la llave 0, lo cual
será 10
echo $x[0];
Lic. Nancy Michelle Torres Villanueva 5
104. PROGRAMACIÓN PARA INTERNET
$newArray[0] = "PHP";
$newArray[1] = "MySQL";
$newArray[2] = "Apache";
● ¿Qué hace?
$newArray[2] = "Cherokee";
Lic. Nancy Michelle Torres Villanueva 6
105. PROGRAMACIÓN PARA INTERNET
$shopping = array( );
$shopping[] = "Leche";
$shopping[] = "Cafe";
$shopping[] = "Azucar";
● En que posiciones ha quedado cada elemento?
Lic. Nancy Michelle Torres Villanueva 7
106. PROGRAMACIÓN PARA INTERNET
$array = array(
"primero"=>1,
"segundo"=>2,
"tercero"=>3);
● Qué imprime?
print $array["segundo"];
Lic. Nancy Michelle Torres Villanueva 8
107. PROGRAMACIÓN PARA INTERNET
$numeros = array(
1=>"uno",
"dos",
"tres",
"cuatro");
● Cuál es la llave del item “tres”??
Lic. Nancy Michelle Torres Villanueva 9
108. PROGRAMACIÓN PARA INTERNET
$numeros = array(
1=>"uno",
3=>"tres",
5=>"cinco");
$numeros[]="otro";
● En que llave quedó el elemento “otro”?
Lic. Nancy Michelle Torres Villanueva 10
109. PROGRAMACIÓN PARA INTERNET
$a = array (
’4’ => 5,
’a’ => ’b’);
$a[] = 44;
● En qué llave quedará el item 44?
Lic. Nancy Michelle Torres Villanueva 11
110. PROGRAMACIÓN PARA INTERNET
$a = array (
’A’ => “Esta es una A”,
’B’ => “Esta es una B”);
$a[] = “Esta que será”;
● En qué llave quedará el item “Esta que será”?
Lic. Nancy Michelle Torres Villanueva 12
111. PROGRAMACIÓN PARA INTERNET
$numeros = array(1=>"uno", 3=>"tres",
5=>"cinco");
$numeros[2] = "dos";
$numeros[4] = "cuatro";
$numeros[6] = "seis";
● En que orden ha quedado el arreglo?
Lic. Nancy Michelle Torres Villanueva 13
112. PROGRAMACIÓN PARA INTERNET
● Se dice pues que las llaves son
automáticamente incrementales y siempre los
elementos se agregarán en el siguiente valor
mayor posible y al final del arreglo.
● Tenga en cuenta que las llaves diferencian
entre mayúsculas y minúsculas. Por lo tanto, la
llave "A" es diferente de 'a', pero las llaves '1' y
1 son los mismos.
Lic. Nancy Michelle Torres Villanueva 14
113. Impresión de arreglos
PROGRAMACIÓN PARA INTERNET
● PHP provee dos funciones para imprimir el
valor de una variable recursivamente:
● print_r()
● var_dump()
Lic. Nancy Michelle Torres Villanueva 15
114. print_r() y var_dump()
PROGRAMACIÓN PARA INTERNET
● var_dump() muestra además el tipo de dato
● var_dump() puede mostrar el valor de varias
variables al mismo tiempo
● print_r() puede regresar el valor como una
cadena
Lic. Nancy Michelle Torres Villanueva 16
115. Arreglos multidimensionales
PROGRAMACIÓN PARA INTERNET
● A menudo los datos no pueden ser
representados en un arreglo sencillo de escalar
en valores enteros, cadenas, booleanos, y
flotantes. Algunos datos sólo pueden estar
representados cuando los arreglos tienen otros
arreglos de valores.
Lic. Nancy Michelle Torres Villanueva 17
116. PROGRAMACIÓN PARA INTERNET
$array = array();
$array[] = array(
’tu’,
’yo’);
$array[] = array(
’el’,
’nos’);
echo $array[0][1] . $array[1][0];
● Qué imprime?
Lic. Nancy Michelle Torres Villanueva 18
119. Asignando a variables
PROGRAMACIÓN PARA INTERNET independientes
● A veces es más fácil trabajar con los valores de
un arreglo mediante la asignación a las
variables individuales. Si bien esto puede ser
logrado mediante la extracción de elementos
individuales y la asignación de cada uno de
ellos a una variable diferente, PHP ofrece un
acceso rápido.
Lic. Nancy Michelle Torres Villanueva 21
120. $info = array('café', 'color', 'cafeína');
● Todas las variables
PROGRAMACIÓN PARA INTERNET list($bebida, $color, $componente) = $info;
● Solo algunas variables
list($bebida, , $componente) = $info;
● Solo la tercera
list( , , $componente) = $info;
Lic. Nancy Michelle Torres Villanueva 22
121. Unión de arreglos
PROGRAMACIÓN PARA INTERNET
● Se logra con el operador +
● Los elementos con llaves repetidas solo se
muestran una vez, si el contenido es distinto,
esto representa perdida de información
Lic. Nancy Michelle Torres Villanueva 23
122. PROGRAMACIÓN PARA INTERNET
$a = array (1, 2, 3);
$b = array (’a’ => 1, ’b’ => 2, ’c’
=> 3);
$c = $a+$b;
● Cuál es el contenido de $c?
Lic. Nancy Michelle Torres Villanueva 24
123. PROGRAMACIÓN PARA INTERNET
$a = array (1, 2, 3);
$b = array (’a’ => 1, 2, 3);
$c = $a+$b;
● Cuál es el contenido de $c?
Lic. Nancy Michelle Torres Villanueva 25
124. PROGRAMACIÓN PARA INTERNET
$a = array ('a' => 1,
'b' => 2,
'c' => 3);
$b = array ('a' => 4,
'b' => 5,
'c' => 6);
$c = $a+$b;
● Cuál es el contenido de $c?
Lic. Nancy Michelle Torres Villanueva 26
125. PROGRAMACIÓN PARA INTERNET
$cosas = array("silla", "mesa",
"maleta", "caja");
$edificios = array("casa", "depa",
"palacio");
$partes = array("cabeza", "pies");
$agregados = $partes + $edificios +
$cosas;
● Cuál es el contenido de $agregados?
Lic. Nancy Michelle Torres Villanueva 27
126. Unión de arreglos sin perder
PROGRAMACIÓN PARA INTERNET elementos
● La funcion array_merge() concatena uno o
mas arreglos, agregandolos al final.
● Si los arreglos tienen llaves de cadenas
iguales, entonces el ultimo valor va a
sobrescribir por la vez previa en que aparecio
la llave.
Lic. Nancy Michelle Torres Villanueva 28
129. Operadores de comparación de
PROGRAMACIÓN PARA INTERNET arreglos
● ==
Mismo número de elementos con las mismas
llaves sin importar el orden.
● ===
Mismo par llave/valor en el mismo orden
Lic. Nancy Michelle Torres Villanueva 31
130. Tamaño de un arreglo
PROGRAMACIÓN PARA INTERNET
● El tamaño de un arreglo puede ser obtenido
con la función count().
● Funciona con cualquier variable, no
necesariamente arreglos, si se quiere asegurar
de que lo este usando en un arreglo, deberá
primero utilizar la función is_array()
Lic. Nancy Michelle Torres Villanueva 32
131. PROGRAMACIÓN PARA INTERNET
$a = array (1, 2, 4);
$b = array();
$c = 10;
echo count($a);
echo count($b);
if is_array($c)
echo count($c);
Lic. Nancy Michelle Torres Villanueva 33
132. Repeticiones de un elemento en
PROGRAMACIÓN PARA INTERNET el arreglo
● count() devuelve el total de elementos en un
arreglo, pero si se desea contar de manera
unica los elementos se utiliza
array_count_values().
● Devuelve un arreglo asociando cada elemento
con la cantidad de repeticiones.
Lic. Nancy Michelle Torres Villanueva 34
134. Determinar si un elemento en una
PROGRAMACIÓN PARA INTERNET posición dada existe
$a = array (’a’ => 1, ’b’ => 2);
echo isset ($a[’a’]);
echo isset ($a[’c’]);
$a = array (’a’ => NULL, ’b’ => 2);
echo isset ($a[’a’]);
● Qué impresiones se obtienen?
Lic. Nancy Michelle Torres Villanueva 36
135. Determinar si una llave existe
PROGRAMACIÓN PARA INTERNET
$a = array (’a’ => NULL, ’b’ => 2);
echo array_key_exists ('a',$a);
● Qué aparece en pantalla?
Lic. Nancy Michelle Torres Villanueva 37
136. Buscar si un elemento existe en
PROGRAMACIÓN PARA INTERNET el arreglo
$a = array (’a’ => NULL, ’b’ => 2);
echo in_array (2, $a);
● Qué aparece en pantalla?
● Se puede pasar un tercer parámetro para
obligar el tipo de dato.
Lic. Nancy Michelle Torres Villanueva 38
137. Obtener la posición de un
PROGRAMACIÓN PARA INTERNET elemento en el arreglo
● array_search() funciona igual que in_array()
solo que este devolverá la llave. Si el valor no
fue encontrado devuelve false.
● Tiene un tercer parámetro opcional para obligar
la concordancia del tipo de dato
$a = array (’a’ => NULL, ’b’ => 2);
echo array_search (2, $a);
● Qué aparece en pantalla?
Lic. Nancy Michelle Torres Villanueva 39
138. Un arreglo con las llaves
PROGRAMACIÓN PARA INTERNET
● Con array_keys() se obtiene un arreglo con las
llaves de otro arreglo.
● Se pueden poner parámetros opcionales y
entonces solo devolverá las llaves de los
elementos indicados en los parámetros.
Lic. Nancy Michelle Torres Villanueva 40
140. Un arreglo sin llaves
PROGRAMACIÓN PARA INTERNET
● La función array_values() genera un nuevo
arreglo solamente con los valores y olvida las
llaves
Lic. Nancy Michelle Torres Villanueva 42
141. Eliminación de elementos
PROGRAMACIÓN PARA INTERNET
● Un elemento puede ser eliminado de un
arreglo, o un arreglo completo se puede
eliminar llamando a unset ( ).
● Sin embargo, la eliminación de un elemento no
reasigna indices.
Lic. Nancy Michelle Torres Villanueva 43
142. PROGRAMACIÓN PARA INTERNET
$favoritos = array("PHP", "Ace",
"COBOL", "Java", "C++");
● Eliminar COBOL del arreglo
unset($favoritos[2]);
Lic. Nancy Michelle Torres Villanueva 44
143. Eliminando elementos repetidos
PROGRAMACIÓN PARA INTERNET
● La función array_unique() devuelve un arreglo
sin items repetidos.
● Si el arreglo tiene llaves, se quedará con la
primer llave, y las siguientes ocasiones en que
se repita, serán omitidas.
Lic. Nancy Michelle Torres Villanueva 45
144. Un arreglo rellenado
PROGRAMACIÓN PARA INTERNET
● La función array_fill() crea un arreglo rellenado
con el dato indicado.
● Se debe indicar la primer llave, la cantidad de
repeticiones y el dato a repetir.
$unidad = array_fill(2, 5, "uno");
Array ( [2] => uno [3] => uno [4] =>
uno [5] => uno [6] => uno )
Lic. Nancy Michelle Torres Villanueva 46
145. Arreglo con una serie
PROGRAMACIÓN PARA INTERNET
● La función range() crea un arreglo con una
serie dentro.
● Se debe indicar el primer valor y el último valor.
Puede indicarse como parámetro opcional el
tipo de incremento
$letras = range("a", "z", 5);
Array ( [0] => a [1] => f [2] => k
[3] => p [4] => u [5] => z )
Lic. Nancy Michelle Torres Villanueva 47
146. Invertir un llaves por valores
PROGRAMACIÓN PARA INTERNET
● La función array_flip() invierte las llaves por
los valores en un arreglo.
$a = array (’a’, ’b’, ’c’);
array_flip ($a);
["a"]=> 0 , ["b"]=> 1 , ["c"]=> 2)
Lic. Nancy Michelle Torres Villanueva 48
147. Invertir el orden de un arreglo
PROGRAMACIÓN PARA INTERNET
● La función array_reverse() invierte el orden de
los elementos de un arreglo.
$cont = array("cero", "uno", "dos",
"tres", "cuatro");
$inverso = array_reverse($cont);
Array ( [4] => cuatro [3] => tres [2]
=> dos [1] => uno [0] => cero )
Lic. Nancy Michelle Torres Villanueva 49
148. Convertir un arreglo en una
PROGRAMACIÓN PARA INTERNET cadena
● La función implode() regresa una cadena
creada por la union de cada uno de los
elementos en el arreglo, insertando una cadena
de unión entre cada elemento.
● join() es un alias de implode() y funciona
exactamente igual
$animales = array("canguro", "leon",
"jirafa”);
implode(", ", $animales);
Lic. Nancy Michelle Torres Villanueva 50
149. Convertir una cadena en un
PROGRAMACIÓN PARA INTERNET arreglo
● La función explode() regresa un arreglo de
cadenas creadas por la ruptura de una cierta
cadena en cada ocurrencia despues de un
separador dado
$palabras = explode(" ", "Ahora es el
momento");
print_r($palabras);
Array ( [0] => Ahora [1] => es [2] => el [3] =>
momento )
Lic. Nancy Michelle Torres Villanueva 51
150. Iteraciones en un arreglo
PROGRAMACIÓN PARA INTERNET
● Existen varias funciones para poder trabajar co
las iteraciones dentro de un arreglo
● reset() Reinicia el puntero del arreglo para poder
recorrerlo.
● prev() Recorre el puntero a la posición anterior
● next() Recorre el puntero a la siguiente posición
● current() Entrega el valor guardado en la posición
actual
● key() Devuelve la llave de la posición actual
● end() Mueve el puntero a la posición final
Lic. Nancy Michelle Torres Villanueva 52
151. $array = array(’foo’ => ’bar’, ’baz’,
’bat’ => 2);
PROGRAMACIÓN PARA INTERNET
function displayArray($array) {
reset($array);
while (key($array) !== null) {
echo key($array).": ".current($array);
next($array);
}
}
Lic. Nancy Michelle Torres Villanueva 53
152. foreach()
PROGRAMACIÓN PARA INTERNET
● Es una manera sencilla de recorrer una arreglo.
$array = array(’foo’, ’bar’, ’baz’);
foreach ($array as $key => $value) {
echo "$key: $value";
}
Lic. Nancy Michelle Torres Villanueva 54
153. Iteraciones con funciones
PROGRAMACIÓN PARA INTERNET
● array_walk()
Aplica una función definida por el usuario a cada
miembro de un arreglo.
● array_walk_recursive()
Aplica una función definida por el usuario
recursivamente a cada miembro de un arreglo.
Lic. Nancy Michelle Torres Villanueva 55
154. $frutas = array("d" => "limon", "a"
=> "naranja", "b" => "platano", "c"
=> "manzana");
PROGRAMACIÓN PARA INTERNET
function test_print($valor, $llave)
{
echo "$llave. $valor<br />n";
}
array_walk($frutas, 'test_print');
Lic. Nancy Michelle Torres Villanueva 56
155. $frutas = array("d" => "limon", "a"
=> "naranja", "b" => "platano", "c"
=> "manzana");
PROGRAMACIÓN PARA INTERNET
function test_alter(&$valor, $llave,
$prefix)
{
$valor = "$prefix: $valor";
}
array_walk($frutas,
'test_print','Fruta: ');
Lic. Nancy Michelle Torres Villanueva 57
156. $dulce = array('a' => 'manzana', 'b'
=> 'platano');
PROGRAMACIÓN PARA INTERNET $frutas = array('dulce' => $dulce,
'acido' => 'limon');
function test_print($valor, $llave)
{
echo "$llave tiene $valorn";
}
array_walk_recursive($frutas,
'test_print');
Lic. Nancy Michelle Torres Villanueva 58
157. Ordenar un arreglo
PROGRAMACIÓN PARA INTERNET
● Los elementos de un arreglo se ordenan
ascedente o descendentemente, sin embargo,
las llaves se perderan en el proceso.
● sort() Ascendentemente
● rsort() Descendentemente
● Se tiene un segundo parámetro opcional para
indicar si el ordenamiento será alfabético o
numérico
Lic. Nancy Michelle Torres Villanueva 59
158. Banderas de ordenamiento
PROGRAMACIÓN PARA INTERNET
● SORT_REGULAR – Compara items
normalmente (No cambia los tipos)
● SORT_NUMERIC – Compara items
numéricamente
● SORT_STRING – Compara items como
cadenas
● SORT_LOCALE_STRING – Compara items
como cadenas basado en la configuración local
Lic. Nancy Michelle Torres Villanueva 60
160. PROGRAMACIÓN PARA INTERNET
$arr = array ("1", 10, "Maria",
"maria", "Memo", 1, 5, 9);
sort($arr);
● En que orden quedará este arreglo?
Lic. Nancy Michelle Torres Villanueva 62
161. Ordenar un arreglo manteniendo
PROGRAMACIÓN PARA INTERNET las llaves
● Para que al ordenar las llaves se mantengan,
se utilizan las funciones:
● asort() Ascendentemente
● arsort() Descendentemente
Lic. Nancy Michelle Torres Villanueva 63
162. Ordenar un arreglo por sus llaves
PROGRAMACIÓN PARA INTERNET
● Hemos visto como ordenar un arreglo en base
a sus elementos, pero también podemos
ordenarlo en base a sus llaves.
● ksort() Ascendentemente
● krsort() Descendentemente
Lic. Nancy Michelle Torres Villanueva 64
163. Ordenar un arreglo utilizando una
PROGRAMACIÓN PARA INTERNET función definida por el usuario
● Si deseas ordenar un arreglo de alguna otra
manera que no sea numérica o
alfabéticamente, puedes crear tu propia función
y luego mandar a ordenar con esa función.
● usort( ) Ordena el arreglo basado en el valor de
cada elemento aplicando una nueva llave
● uasort( ) Mantiene el par llave/valor
● uksort( ) Reordena los elementos basado en la
llave de cada elemento
Lic. Nancy Michelle Torres Villanueva 65
164. function cmp_length($a, $b)
{
PROGRAMACIÓN PARA INTERNET if (strlen($a) < strlen($b))
return -1;
if (strlen($a) > strlen($b))
return 1;
//Si el tamaño es igual
return 0;
}
Lic. Nancy Michelle Torres Villanueva 66
166. Desordenando un arreglo
PROGRAMACIÓN PARA INTERNET
● La función shuffle() desacomoda un arreglo de
manera random. Las llaves se pierden
Lic. Nancy Michelle Torres Villanueva 68
167. Obtener un elemento random
PROGRAMACIÓN PARA INTERNET
● La función array_rand() toma uno o mas
elementos random del arreglo y devuelve la
llave de estos.
Lic. Nancy Michelle Torres Villanueva 69
168. Arreglos como pilas y colas
PROGRAMACIÓN PARA INTERNET
● PHP ofrece funciones para las actividades de
push y pull en las pilas y para shift y unshift en
las colas.
● array_push
● array_pop
● array_shift
● array_unshift
Lic. Nancy Michelle Torres Villanueva 70
169. PROGRAMACIÓN PARA INTERNET
$stack = array();
array_push($stack, ’bar’, ’baz’);
$last_in = array_pop($stack);
$queue = array(’qux’, ’bar’, ’baz’);
$first_element = array_shift($queue);
array_unshift($queue, ’foo’);
Lic. Nancy Michelle Torres Villanueva 71
170. Diferencia entre dos arreglos
PROGRAMACIÓN PARA INTERNET
● La función array_diff() compara dos arreglos y
devuelve la diferencia.
● Devuelve un arreglo con todas las entradas del
arreglo1 que no estan en los demás arreglos.
● No toma en cuenta las llaves, de modo que si
se desea tomar en cuenta las llaves, se utiliza
array_diff_assoc()
Lic. Nancy Michelle Torres Villanueva 72
171. Diferencia entre dos arreglos en
PROGRAMACIÓN PARA INTERNET base a sus llaves
● Para buscar las diferencias entre dos arreglos
tomando en cuenta las llaves se utiliza la
función array_diff_key()
● En ambas funciones se puede utilizar una
función definida por el usuario y las funciones a
utilizar son array_diff_uassoc() y
array_diff_ukey()
Lic. Nancy Michelle Torres Villanueva 73
172. Intersección de dos arreglos
PROGRAMACIÓN PARA INTERNET
● La función array_intersect() devuelve todos
los elementos del arreglo1 que existen en los
demás arreglos.
● Si se desea revisar también las llaves se utiliza
la función array_intersect_assoc().
● array_intersect_key() se utiliza para validar
las llaves.
● array_intersect_ukey() y
array_intersect_uassoc() para validar con una
función
● Lic. Nancy Michelle Torres Villanueva 74