Mailinglisten-Archive |
Egon Schmid wrote:
> Das ist doch ein numerisches Array oder nicht? Und dafür ist halt mal
> asort() und arsort() nicht gedacht. Um die ganze Diskussion hier etwas
> abzukürzen wäre ein Blick ins Handbuch vielleicht ganz sinnvoll.
Spielt keine Rolle, das next(), prev(), reset(), current() und key()
packen sich auch bei Leerstrings auf die Schnauze, weil auch "" als
false, also als Arrayende interpretiert wird.
kk_(at)_land:~ > Source/php3/php
<?php
$a["bla"] = 17;
$a["lall"] = 18;
$a[""] = 12;
$a["hugo"] = 10;
arsort($a);
# Geht man jetzt mit while(list() = each()) dabei,
# funktioniert das wir erwartet:
reset($a);
while(list($k, $v) = each($a)) { print "$k $v\n"; }
Content-type: text/html
lall 18
bla 17
12
hugo 10
# Verwendet man das gezeigte for()-Statement, knallt es
# erwartungsgemäß wegen der Nichteindeutigen false/0/""-
# Semantik.
for (reset($a); $i = key($a); next($a)) { print "$i $a[$i]\n"; }
lall 18
bla 17
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