phpbar.de logo

Mailinglisten-Archive

[php] Problem mit asort/arsort

[php] Problem mit asort/arsort

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Sun, 05 Sep 1999 21:27:35 +0200


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