Patrick Andrieu: die PHP function "empty" übernehmen

Beitrag lesen

Hallo MrSpoocy!

alles soweit richtig,

Ja?

sub empty($)

Warum Prototypes? Willst Du später auf die Klammer verzichten?

if ($string eq "" || int($string) eq 0)

^^^^^^^^^^^  ^^

int($zahl) ergibt eine Zahl. Hier ist ein numerischer Vergleich (==) angebracht. Und willst Du wirklich $string = 0.1234 als undefiniert oder leer betrachten?

nun will ich aber noch auf ARRAY und HASH regieren.

Du erwartest allen Anschein nach, dass Deiner Funktion einem einzigen String übergeben wird:

my $string = shift;

Warum übergibst Du ihr Du dann ein Array:

print emtpy(@xm);

oder einen Hash:

print emtpy(%xm);

?

Arbeite mit Referenzen!

In Deiner auskommentierten Abfrage warst Du schon fast auf den richtigen Weg:

if (ref $string eq "HASH")...

Aber um an evtl. Keys zu kommen, musst Du dereferenzieren, weswegen es so:

keys($string)

nicht funzen™ kann.

Viele Grüße aus Frankfurt/Main,
Patrick

--
_ - jenseits vom delirium - _

   Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?