Ein Array ist ja eigentlich eine Datenstruktur mit nummerischen Schlüsseln. Deswegen gibt es gerne mal eine Überraschung, wenn man in Javascript Code schreibt und ein assoziatives Array benutzt. Dies ist ein Sonderfall der Datenstruktur Array, weil der Schlüssel zu den Werten nicht einen nummerischen Datentyp nutzt, sondern einen String. Deswegen gibt auch folgender Codeschnipsel immer 0 zurück.
var person = new Array(); person["Vorname"] = "Hans"; person["Name"] = "Mustermann"; person["Geburtstag"] = "01.01.01"; person["Wohnort"] = "Musterstadt"; }; alert(person.length);
PHP ist da nicht ganz so konsequent, und denn dort liefert die mit length verwandte Funktion count() den Wert 4:
<?php
$person = array ( 'Vorname' => 'Hans',
'Name' => 'Mustermann',
'Geburtstag' => '01.01.01',
'Wohnort' => 'Musterstadt');
echo count($person);
?>
Damit es gar nicht erst zu Verwirrungen kommt, sollte bei Javascript ein Array gar nicht eingesetzt werden (und auch bei anderen Programmiersprachen nicht!), wenn man eine key/value-Datenstruktur braucht, die nicht nummerische Keys benutzt. Am besten gleich new Array() durch new Object() ersetzen.