Tutoriales En Linea Tutoriales En Linea
  • Tutoriales
    • Aprendizaje
    • Video Tutorial
    • Manuales
    • Hagalo usted mismo
    • Explorar todo
  • Adobe
    • After Effects
    • Dreamweaver
    • Premiere Pro CC
    • Photoshop
    • Photoshop Mix
    • Lightroom
    • Illustrator
    • Adobe Muse
    • Creative Cloud
  • Android
    • Developer Android
    • Aplicaciones
    • Android Studio
    • Android Wear
    • Desarrolladores
    • SDK Platform-Tools
    • ADB...depuración Bridge
    • Fastboot
    • Root
    • Recovery
  • Apple
    • iPhone y iPad
    • iPhone
    • iPad
    • Mac OS
    • iCloud
    • iTunes
  • Cursos
    • Actívate
    • Autoempleo
    • Idiomas
    • Curso De HTML
    • Curso de C++
    • Javascript
    • jQuery
    • Matematicas
    • Programacion
    • Python
    • Udacity
    • Diseño Web adaptativo
  • Ciberseguridad
    • Malware
    • Ransomware
    • Virus
    • Troyano
    • Dorkbot
    • Filecoders
    • keylogger
    • Spyware
    • Jackware
    • DDoS
    • HackerOne
    • Interpol
  • Criptomonedas
    • Blockchain
    • Mineria de Criptomonedas
    • Bitcoin (BTC)
    • Bitcoin Cash (BCH)
    • DASH (Dash)
    • Dogecoin (Doge)
    • Ethereum (ETH)
    • Litecoin (LTC)
    • Monero (XMR)
    • Ripple (XRP)
    • Zcash (ZEC)
    • Forex
    • Trading
  • Desarrollo Web
    • Sistema de gestion de contenidos
    • AMP
    • Datalife Engine
    • Blogger
    • WordPress
    • Joomla
    • Bootstrap
    • Plantillas
    • @font-face
    • Schema
    • Website
    • Desarrolladores
    • Lenguaje Web
  • Diseño Web
    • Web Responsive
    • Lenguaje Web
    • Datos estructurados
    • HTML
    • CSS3
    • JavaScript
    • Ajax
    • jQuery
    • PHP
  • Entretenimiento
  • Encuestas
    • GlobalTestMarket
    • Centro de opinion
    • Ipsos i-Say
    • Triaba
    • Panel opinea
    • Toluna
    • YouGov
    • ClixSense
    • ySense
    • Panel Cint
    • Beruby
  • Electricidad
  • Electronica
  • Ganar dinero comprando
    • CashbackDeals
    • Cashback
    • Por ir de compras
    • Aklamio
    • Intercambio de tráfico
    • Justificante de pagos
    • Webs estafas
  • Google
    • Google Pay
    • Adsense
    • Gmail
    • Google Apps
    • Google Chrome
    • Google Cloud Platform
    • Google Consumer Surveys
    • Google Desarrolladores
    • Google Fit
    • Google Maps
    • Google Photos
    • Google Play
    • Google Translation
    • DoubleClick
    • YouTube
    • Chromebooks
  • Marketing
    • SEM
    • SEO
    • Posicionamiento
    • Contenido
    • Publisuites
    • Space Content
    • Coobis
    • Marketing
  • Computadora u ordenador
    • Sistemas operativos
      • Windows
      • Mac OS
      • Android
      • Linux
      • Ubuntu
      • Kali Linux
      • Wifislax
    • hardware
    • Software
    • BIOS
    • Unidad de disco duro
    • Programacion
    • Dispositivos
    • Internet
  • Ofimática
    • Microsoft
    • Suite Ofimatica
    • Access
    • Word
    • Excel
    • Powerpoint
    • Outlook
    • Microsoft Publisher
  • PTC
    • No pierdas tiempo con estas web
  • Redes Sociales
    • Delicious
    • Facebook
    • Instagram
    • linkedin
    • Snapchat
    • TikTok
    • Twitter
    • Pinterest
    • Spotify
    • Vkontakte - VK
    • WhatsApp
  • Smartphone
    • Telefonos
    • Telefonia movil y telecomunicaciones
    • Desbloquear
    • Códigos NCK
    • Liberar
    • Tarjeta SIM
    • Tablet
  • Sitio Web
    • Dominios
    • Hosting
    • Servidores
    • Demo DLE
    • Documentación sobre Datalife Engine
    • Modulos DLE
    • Hack
    • Optimizacion
    • Google Adsense
    • Plantillas
  • Tips
    • Cabello
    • Consejos
    • Cremas
    • Cosmético
    • Cuerpo
    • Dieta
    • Exfoliantes
    • Entrenamiento
    • Ejercicio
    • Estilo
    • Fitness
    • Habitos
    • Hidratante
    • Look
    • Maquillaje
    • Moda
    • Piel Radiante
    • Recetas
    • Ropa
    • Rutina
    • Salud
    • Tratamientos
  • Trabajos
    • Atencion al cliente
    • Asistente virtual
    • Transcripcíon
    • Transcripcíones medica
    • Entrada de datos
    • De edicion y correccion
    • Mystery Shopping
    • Micro trabajos
    • Contabilidad
    • Tutoria y aprendizaje
    • Mas ingresos extras
  • Webmasters
    • Git
    • GitHub
    • Criptografia
    • Deep Web
    • Hacker
    • FTP
    • Indexar
    • Newsletter
    • Redes y VPN
    • Herramientas online
  • Windows
    • Skype
    • Windows
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Puerta trasera de Windows
    • Microsoft Edge
Facebook Twitter YouTube Instagram Linkedin
  • Sobre nosotros
  • Últimos artículos
  • Herramientas SEO
  • Ver mas temas
  • Más sitios que te gustarán
Tutoriales En Linea Tutoriales En Linea
  • Secciones
    1. Android
    2. Adobe
    3. Bricolaje
    4. Bachillerato
    5. Cursos
    6. Criptomonedas
    7. Criptografia
    1. Diseño Web
    2. Encuestas
    3. Empleo
    4. Electricidad
    5. Electronica
    6. Forex
    7. Fisica
    1. Google
    2. Hardware
    3. Herramientas Ofimaticas
    4. Herramientas
    5. Internet
    6. Idiomas
    7. IPTV
    1. Lenguajes De Programacion
    2. Libros
    3. Microsoft
    4. Manuales
    5. Matematica
    6. Newsletter
    7. Optimizacion
    1. Redes Sociales
    2. Software
    3. Seguridad
    4. Telefonia
    5. WebSite
    6. Webmasters
    7. Ver todas las categorias
  • Smartphone
    Cómo AirDroid te ayuda a administrar tu teléfono de forma eficiente

    Cómo AirDroid te ayuda a administrar tu teléfono de forma eficiente

    Ya puedes usar WhatsApp en múltiples dispositivos inteligentes al mismo tiempo

    Ya puedes usar WhatsApp en múltiples dispositivos inteligentes al mismo tiempo

    Llega su fin a las aplicaciones preinstaladas para una experiencia de usuario mejorada

    Llega su fin a las aplicaciones preinstaladas para una experiencia de usuario mejorada

    Compartir archivos entre Windows y Android nunca fue tan fácil con Near Share

    Compartir archivos entre Windows y Android nunca fue tan fácil con Near Share

    ¿Cómo afecta la tecnología a nuestra vida social?

    ¿Cómo afecta la tecnología a nuestra vida social?

  • Tecnología
    1. Móviles
    2. Ordenadores
    3. Software
    4. Hardware
    5. Seguridad
    6. Ver todo
    Cómo AirDroid te ayuda a administrar tu teléfono de forma eficiente

    Cómo AirDroid te ayuda a administrar tu teléfono de forma eficiente

    Ya puedes usar WhatsApp en múltiples dispositivos inteligentes al mismo tiempo

    Ya puedes usar WhatsApp en múltiples dispositivos inteligentes al mismo tiempo

    Llega su fin a las aplicaciones preinstaladas para una experiencia de usuario mejorada

    Llega su fin a las aplicaciones preinstaladas para una experiencia de usuario mejorada

    Compartir archivos entre Windows y Android nunca fue tan fácil con Near Share

    Compartir archivos entre Windows y Android nunca fue tan fácil con Near Share

    Cómo deshabilitar la desfragmentación de SSD y HDD en Windows 10 y 11

    Cómo deshabilitar la desfragmentación de SSD y HDD en Windows 10 y 11

    Historia de los sistemas operativos

    Historia de los sistemas operativos

    Como eliminar las aplicaciones predeterminadas de Windows 10 y 11

    Como eliminar las aplicaciones predeterminadas de Windows 10 y 11

    Intel está paulatinamente descontinuando numerosos procesadores de su 11.ª generación

    Intel está paulatinamente descontinuando numerosos procesadores de su 11.ª generación

    Cómo configurar su propia VPN sin comprar servicios de empresas VPN

    Cómo configurar su propia VPN sin comprar servicios de empresas VPN

    Cómo instalar un servidor web en tu ordenador con XAMPP

    Cómo instalar un servidor web en tu ordenador con XAMPP

    ¿Cómo Hackear Una Cuenta de Gmail de Otra Persona?

    ¿Cómo Hackear Una Cuenta de Gmail de Otra Persona?

    Como activar Windows 10 con KMSAuto

    Como activar Windows 10 con KMSAuto

    Cómo deshabilitar la desfragmentación de SSD y HDD en Windows 10 y 11

    Cómo deshabilitar la desfragmentación de SSD y HDD en Windows 10 y 11

    Benefits Of Vertical Dual Monitors For Coding And Programming

    Benefits Of Vertical Dual Monitors For Coding And Programming

    AMD ha identificado la causa de la quema de los procesadores Ryzen 7000 y ha lanzado un nuevo AGESA para corregir el problema

    AMD ha identificado la causa de la quema de los procesadores Ryzen 7000 y ha lanzado un nuevo AGESA para corregir el problema

    Aumenta el rendimiento de tu PC con el overclocking

    Aumenta el rendimiento de tu PC con el overclocking

    La ciberseguridad: Vital Para Las Apuestas Online en España

    La ciberseguridad: Vital Para Las Apuestas Online en España

    Microsoft busca aprovechar el increíble talento de las mujeres para ayudar a llenar la brecha de seguridad cibernética

    Microsoft busca aprovechar el increíble talento de las mujeres para ayudar a llenar la brecha de seguridad cibernética

    Cómo rastrear fácilmente la ubicación de sus seres queridos en Android

    Cómo rastrear fácilmente la ubicación de sus seres queridos en Android

    Los visionarios detrás de Tor han revolucionado la navegación en línea con su nuevo navegador basado en VPN

    Los visionarios detrás de Tor han revolucionado la navegación en línea con su nuevo navegador basado en VPN

    AMD ha identificado la causa de la quema de los procesadores Ryzen 7000 y ha lanzado un nuevo AGESA para corregir el problema

    AMD ha identificado la causa de la quema de los procesadores Ryzen 7000 y ha lanzado un nuevo AGESA para corregir el problema

    China desarrolla una batería de litio con una densidad récord de almacenamiento de energía

    China desarrolla una batería de litio con una densidad récord de almacenamiento de energía

    El negocio de la salud

    El negocio de la salud

    Intel está paulatinamente descontinuando numerosos procesadores de su 11.ª generación

    Intel está paulatinamente descontinuando numerosos procesadores de su 11.ª generación

  • Estilo de vida
    1. Entrenamiento
    2. Maquillaje
    3. Dieta
    4. Moda
    5. Trucos y tips
    6. Ver todo
    ¿Por qué necesitas un entrenador personal?

    ¿Por qué necesitas un entrenador personal?

    Descubre los beneficios y funciones de la suplementación deportiva

    Descubre los beneficios y funciones de la suplementación deportiva

    Razones por las que los ejercicios HIIT son los más efectivos

    Razones por las que los ejercicios HIIT son los más efectivos

    Alimentos que mejorarán tu desempeño en el gimnasio

    Alimentos que mejorarán tu desempeño en el gimnasio

    Cosas a considerar al comprar mesas de maquillaje al por mayor

    Cosas a considerar al comprar mesas de maquillaje al por mayor

    Consejos efectivos para tratar las ojeras

    Consejos efectivos para tratar las ojeras

    Cuidado de la piel saludable para adolescentes

    Cuidado de la piel saludable para adolescentes

    Hinchado, brillante y quebradizo? Usted podría ser demasiado exfoliante

    Hinchado, brillante y quebradizo? Usted podría ser demasiado exfoliante

    Top 5 por las que estas realmente ansioso por el chocolate

    Top 5 por las que estas realmente ansioso por el chocolate

    Aumento de peso por retención de agua

    Aumento de peso por retención de agua

    Aprende a perder peso de manera eficiente y correcta

    Aprende a perder peso de manera eficiente y correcta

    Maneras de preparar ensaladas con aspecto atractivo

    Maneras de preparar ensaladas con aspecto atractivo

    Cómo llevar un vestido largo todo el año

    Cómo llevar un vestido largo todo el año

    Los mejores consejos de moda femenina para hacerte lucir más elegante

    Los mejores consejos de moda femenina para hacerte lucir más elegante

    Ideas para tu boda del sueño

    Ideas para tu boda del sueño

    Que hacer para que los zapatos de las mujeres sean más cómodos

    Que hacer para que los zapatos de las mujeres sean más cómodos

    Gestión Digital para Autónomos: Aprende a Administrar tu Negocio en Línea Eficazmente

    Gestión Digital para Autónomos: Aprende a Administrar tu Negocio en Línea Eficazmente

    Cómo negociar con los acreedores: consejos prácticos para negociar con los acreedores y reducir sus deudas

    Cómo negociar con los acreedores: consejos prácticos para negociar con los acreedores y reducir sus deudas

    5 Ways to Use Hair Extensions - Custom Hair by Albert Amin

    5 Ways to Use Hair Extensions - Custom Hair by Albert Amin

    Beneficios de las placas solares de autoconsumo

    Beneficios de las placas solares de autoconsumo

    ¡Servicio de limpieza profesional a domicilio!

    ¡Servicio de limpieza profesional a domicilio!

    ¿Qué es el Snus? Una guía para principiantes

    ¿Qué es el Snus? Una guía para principiantes

    Cómo aprovechar el tiempo libre para mejorar tu salud mental y física

    Cómo aprovechar el tiempo libre para mejorar tu salud mental y física

    Cómo aprovechar la tecnología para mejorar tu estilo de vida

    Cómo aprovechar la tecnología para mejorar tu estilo de vida

  • Marketing
    Herramienta de analisis de tus problemas de SEO

    Herramienta de analisis de tus problemas de SEO

    Herramientas SEO para posicionamiento de nuestra web 2023

    Herramientas SEO para posicionamiento de nuestra web 2023

    Herramienta online de generador de datos estructurados

    Herramienta online de generador de datos estructurados

    Reescritor de Articulos - herramienta de paráfrasis

    Reescritor de Articulos - herramienta de paráfrasis

    Analisis de backlinks: Herramienta gratuita de SEO (Backlinks Checker)

    Analisis de backlinks: Herramienta gratuita de SEO (Backlinks Checker)

  • Juegos
    Juegos - HTML5 Canvas

    Juegos - HTML5 Canvas

    Como jugar online y resolver un sudoku

    Como jugar online y resolver un sudoku

    Cómo jugar Ajedrez Online TL

    Cómo jugar Ajedrez Online TL

    Como se juega al ajedrez

    Como se juega al ajedrez

    Tetris en JavaScript – Open source

    Tetris en JavaScript – Open source

  • Herramientas

¡Bienvenido de nuevo!

Inicie sesión o Regístrate ahora

VK

o con Email

¿Has olvidado tu contraseña?
Búsqueda extendida

Escriba arriba y presione Enter para buscar.


Tutoriales En Linea » Lenguajes De Programacion » Comprobar si un array es asociativo o secuencial en PHP

Comprobar si un array es asociativo o secuencial en PHP


Tutoriales En Linea Por Tutoriales En Linea En: Lenguajes De Programacion, php, WebSite, webmasters, Noticias, Tutorial 0 Agosto 11, 2019

1.1К
VISTO
Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp VKontakte Email
Compartir
Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp VKontakte

Comprobar si un array es asociativo o secuencial en PHPLas matrices en PHP, más conocidas como arrays, se construyen mediante pares clave => valor que representan cada elemento de la matriz. En función del tipo de clave, o key, el array puede ser:

  • asociativo: la clave es un string, un texto identificador, por ejemplo $array['nombre'], $array['edad'], etc.
  • secuencial: la clave es un índice numérico, de ahí que este tipo de arrays también se conozcan como arrays indexados, por ejemplo, $array[1], $array[2], etc.
La representación interna en PHP de ambos tipos de arrays es la misma, un mapa con claves y valores asociados con un orden específico, pero, aún así, en algunas situaciones podemos necesitar conocer si estamos ante uno u otro tipo.

PHP ofrece varias funciones internas para comprobar el tipo de datos, pero ninguna para diferenciar «tipos» de arrays, porque, como hemos dicho en el párrafo anterior, ambos tipos son representados de la misma forma por PHP.

Uno de los métodos más populares y sencillos se basa en comparar las keys de un array con el resultado que de la función range() desde 0 al número de elementos del array. Así, podríamos comprobar si un array es asociativo (las claves son strings) o secuenciales (las claves son un índice numérico) de la siguiente forma:
function is_assoc( $array ) {
    return array_keys( $array ) !== range( 0, count($array) - 1 );
}
Supongamos que un array tiene 5 elementos. El planteamiento de esta función anterior sería: si range(0, 4) me devuelve el mismo valor que array_keys($array), estaré ante un array secuencial, de lo contrario estoy ante un array asociativo (vea manual de range() y array_keys()).


Problema: definición de array secuencial


Según la definición de array secuencial que hemos dado antes, y que es la más extendida, las claves de un array secuencial forman un índice numérico que va desde 0 (cero) hasta el número de elementos menos 1. En PHP, este índice numérico secuencial se genera si no se especifican los índices o si se especifican con estos valores:
// Los tres arrays son secuenciales
// y se consideran iguales en PHP
$datos1 = [
            "Gato",
            "Perro",
            "Jirafa"
        ];
$datos2 = [
            0 => "Gato",
            1 => "Perro",
            2 => "Jirafa"
        ];
$datos3 = [
            "0" => "Gato",
            "1" => "Perro",
            "2" => "Jirafa"
        ];
Los tres arrays anteriores son iguales y se considerarían secuenciales, sus claves son 0, 1 y 2, y se puede acceder al valor de cada elemento mediante $datos[indice], donde índice es el número que representa el key.

Pero fíjate que en los ejemplos anteriores podemos especificar el número de índice a nuestro antojo, ¿que pasa si el key menor no es 0? (2, 3, 4, …) ¿Y si hay «huecos»? (2, 8, 54,…). En estos casos la solución propuesta con range() y array_keys() tratará los datos como array asociativo y para muchos programadores estos arrays seguirían siendo secuenciales.

Y es que no hay una definición estándar de array secuencial, algo normal si recordamos que cualquier array es representado y tratado de la misma forma por PHP.

Para algunos, un array en el que todas las claves son números enteros, aunque no comiencen por cero o no sigan la secuencia +1, es un array secuencial. Para otros, un array en el que todas las claves sean numéricas pero en el que el valor de la clave es importante, se convierte automáticamente en array asociativo aunque todas claves sean numéricas.

Por ejemplo, si tenemos un array con claves numéricas no secuenciales:
[6 => 'rojo', 4 => 'verde', 8 => 'amarillo']
En este caso, el valor de las claves es importante para diferenciar cada elemento del array. Al ser todas las claves numéricas, unos dirían que es un array secuencial, pero como el valor de las claves es importante, otros dirían que es asociativo. Para otros, sin embargo, hacer esta distinción es irrelevante y adoptan otro tipo de lógica durante el desarrollo de un programa.

Además, hay que tener en cuenta que en PHP las claves tipo string que contienen representación literal de enteros son convertidas a datos tipo integer. Por ejemplo, la clave "8" (string) es convertida a 8 (integer), pero "08" si es tratado como string y no es convertido a 8.

Lo mismo ocurre si las claves tiene un valor tipo float, también son transformadas al tipo integer. Por ejemplo, si el valor de una clave es igual a 8.5 (float), el valor es transformado a 8, pero "8.5" (string) quedaría igual.

En otras palabras, en PHP no puedes diferenciar el key "8" (texto) del key 8 (número). (vea la documentación sobre arrays).

En cualquier caso, si quieres interpretar como secuencial cualquier array cuyas claves sean todas números enteros o strings con representación de enteros, sin importar que la menor no sea cero o que haya huecos entre ellas, puedes utilizar la siguiente función:
function is_assoc( $array ) {

     foreach(array_keys($array) as $key) {
         if (!is_int($key)) return true;
     }

     return false;

}
La función anterior comprueba cada una de las claves del array hasta que encuentre una que no sea un número entero o una representación literal de entero; sólo en ese caso devolverá true, indicando que el array es asociativo. En caso contrario devolverá false, indicando que el array es secuencial o indexado.
Síguenos en Síguenos en Google News
  • 100
  • 1
  • 2
  • 3
  • 4
  • 5
Articulo anterior PHP: convertir un objeto en array
Articulo siguiente Cómo obtener la URL actual en PHP
Tutoriales En Linea
Tutoriales En Linea
  • Website
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
  • Instagram

Sobre mi: CEO de Tutoriales En Linea:
https://tutorialesenlinea.es
Fundador y CEO de Tutoriales En Linea...Leer mas...

Artículos Relacionados


Tipos de errores en PHP

Tipos de errores en PHP

PHP: convertir un objeto en array

PHP: convertir un objeto en array

PHP: diferencias entre echo, print, print_r y var_dump

PHP: diferencias entre echo, print, print_r y var_dump


Comentarios



Información
Usuarios que no esten registrados no pueden dejar comentarios, te invitamos a que te registre!

Destacados

Lista de proxies

Lista de proxies

Oct 04 76 194
Lo que más molesta a tus usuarios según Google

Lo que más molesta a tus usuarios según Google

Ene 13 74 528
Como instalar Windows 11 cuando tu hardware no cumple con los requisitos

Como instalar Windows 11 cuando tu hardware no cumple con los requisitos

Oct 10 101 039
Como descargar Windows 11

Como descargar Windows 11

Ago 18 81 553

Lo mas leidos

Herramientas SEO para posicionamiento de nuestra web 2023

Herramientas SEO para posicionamiento de nuestra web 2023

Por administrador 27-09-22
Herramienta online de generador de datos estructurados

Herramienta online de generador de datos estructurados

Por Tutoriales En Linea 11-02-23
Anunciate Aqui

Anunciate Aqui

Por Tutoriales En Linea 15-05-23

Etiquetas

ArrayTutoriales En LineaLenguajes De ProgramacionArticulosWebsitePostWebNoticiasasociativosecuencialPHPFuncionFunciones





Sobre nosotros

Tutoriales En Linea

¡Bienvenidos a Tutoriales En Línea, el sitio web perfecto para encontrar todas las herramientas necesarias para mejorar tus habilidades de forma gratuita! En Tutoriales En Linea se encuentran tutoriales, cursos online y aprendizaje de calidad, muy útiles para desarrollar tus capacidades... Leer mas...

Tiene una pregunta? Contactar...

Enlaces

  • Sobre nosotros
  • Ultimos tutoriales
  • Publicar tutorial
  • Ver mas temas
  • Ultimos comentarios
  • ¿Preguntas Frecuentes?
  • Derechos de autor
  • Politica de cookies
  • DMCA
  • Nuestro equipo
  • Normas

Herramientas online

  • Buscador de recetas
  • Prueba de diseño web
  • Codificar en binarios, hexadecimales...
  • Cual es mi IP
  • Test de velocidad
  • Editor HTML
  • Test de escritura
  • Test de nutricion
  • Descargar Videos
  • Generador de datos estructurados

Recursos

  • Analisis de tus problemas de SEO
  • Herramientas SEO
  • Generar palabras claves
  • Referencia de CSS3
  • Convertir HTML a XML
  • Acortador de URL
  • Selector de colores
  • Contador de palabras
  • Comprimir imagenes
  • Conversor a URI de datos
  • Suscribirse
Disponible en Google Play - Google Play y el logotipo de Google Play son marcas comerciales de Google LLC.
Facebook Twitter Instagram Pinterest Linkedin Youtube
  • Anunciarse
  • Socios externos
  • Política de privacidad
  • Términos y Condiciones
  • Sobre nosotros
  • Contactar
© Tutoriales En Linea. Reservados todos los derechos, queda prohibida la reproducción parcial o total sin previa autorización.