Mailinglisten-Archive |
Oliver Kummerow wrote: > Es gibt noch eine: count (array) und dann in einer Schleife iterieren. Stimmt, das geht auch noch, weil man sich ja nicht auf den Rückgabewert von next() verläßt und next() intern ja undef und 0/"" unterscheiden kann: In PHP sind Hashes assoziative Arrays, deren Elemente zusätzlich in einer doppelt verketteten Liste gespeichert sind. Anders als Perl-Hashes haben PHP-Hashes also eine Ordnung - darum sind asort und sort ja unterschiedliche Funktionen. Intern kann next() den Fall undef von 0/"" unterscheiden: Ist der Nachfolgezeiger der Liste NULL, haben wir den Fall undef, sonst den Fall ""/0 > Man kriegt als Zusatzinformation mit $i noch die Rangfolge des Eintrags. Ja, die müßte man im while/each-Fall separat mitführen, dann hätte man diese Information dort auch. > Mal abgesehen davon, dass mir keine andere Programmiersprache bekannt > ist, die numerisch 0 und Leerstring gleichsetzt. In der Praxis führt das > ständig zu skurrilen Schwierigkeiten. Ich finde, das wäre doch mal einer > Änderung wert? Erzähl das dem Core-Team, aber stelle sicher, daß sie Dich auch verstehen. Das ist mitunter gar nicht so einfach. Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive