Wie überprüft man, ob ein Array in PHP assoziativ oder sequentiell (indiziert) ist?
Hallo Kollegen! Ich schreibe seit ein paar Monaten in PHP und stoße oft auf das Problem: Ich muss herausfinden, ob ein Array eine normale Liste (mit numerischen Schlüsseln 0, 1, 2...) oder assoziativ (mit String-Schlüsseln wie 'name', 'age') ist. Das wird benötigt, um Daten korrekt zu verarbeiten, z.B. bei der Konvertierung in JSON oder bei der Übergabe an eine Funktion, die ein bestimmtes Format erwartet.
Hier ist ein Beispiel. Ich habe eine Funktion, die ein Array annimmt und unterschiedlich damit arbeiten soll:
```php
function processData($data) {
// Wenn das Array sequentiell ist — iterieren wir die Elemente als Liste
// Wenn assoziativ — arbeiten wir mit den Schlüsseln
// Wie überprüft man das innerhalb der Funktion?
}
```
Ich habe versucht, es mit `array_keys()` zu überprüfen, aber das scheint ein Workaround zu sein. Ich habe auch über `is_numeric()` gelesen, bin mir aber nicht sicher, ob das zuverlässig ist. Manche sagen `array_values()`, andere `range()`.
Bitte sagt mir den korrektesten und performantesten Weg, um zu überprüfen, ob ein Array assoziativ ist.