Cómo verificar si un array en PHP es asociativo o secuencial (indexado)
¡Hola a todos! Acabo de empezar a aprender PHP y me encontré con una situación confusa. Sé que en PHP hay dos tipos de arrays: los normales (secuenciales) con claves numéricas desde 0 y los asociativos, donde las claves son strings. Pero en realidad todo está mezclado: un array puede comenzar con la clave 0, luego tener un string, y luego otro número. O las claves pueden ser números, pero no en orden (por ejemplo, 0, 5, 10).
Necesito escribir una función que procese datos de un formulario. Si el array es secuencial (es decir, las claves van en orden: 0, 1, 2, 3...), aplico una lógica. Si es asociativo (por ejemplo, claves 'name', 'email', 'age') — otra. Pero la verificación estándar con `array_keys()` no da una respuesta clara, porque un array como `[0 => 'a', 2 => 'b']` es formalmente numérico, pero no secuencial.
Aquí hay un ejemplo que me confunde:
```php
$arr1 = ['a', 'b', 'c']; // secuencial
$arr2 = ['name' => 'John', 'age' => 30]; // asociativo
$arr3 = [0 => 'x', 1 => 'y', 3 => 'z']; // numérico, pero con saltos
No answers yet.
Inicia sesión para dejar una respuesta
Blogs