Avatar ·

Wie überprüft man, ob ein Array in PHP assoziativ oder sequentiell (indiziert) ist?

Hallo zusammen! Ich habe gerade angefangen, PHP zu lernen, und bin auf eine unklare Situation gestoßen. Ich weiß, dass es in PHP zwei Arten von Arrays gibt: normale (sequentielle) mit numerischen Schlüsseln ab 0 und assoziative, bei denen die Schlüssel Strings sind. Aber in der Praxis ist alles gemischt: Ein Array kann mit Schlüssel 0 beginnen, dann ein String kommen und dann wieder eine Zahl. Oder die Schlüssel können Zahlen sein, aber nicht in der Reihenfolge (z.B. 0, 5, 10). Ich muss eine Funktion schreiben, die Daten aus einem Formular verarbeitet. Wenn das Array sequentiell ist (d.h. die Schlüssel sind in der Reihenfolge: 0, 1, 2, 3...), wende ich eine Logik an. Wenn es assoziativ ist (z.B. Schlüssel 'name', 'email', 'age') — eine andere. Aber die Standardprüfung mit `array_keys()` gibt keine eindeutige Antwort, weil ein Array wie `[0 => 'a', 2 => 'b']` formal numerisch, aber nicht sequentiell ist. Hier ist ein Beispiel, das mich verwirrt: ```php $arr1 = ['a', 'b', 'c']; // sequentiell $arr2 = ['name' => 'John', 'age' => 30]; // assoziativ $arr3 = [0 => 'x', 1 => 'y', 3 => 'z']; // numerisch, aber mit Lücken