phpbar.de logo

Mailinglisten-Archive

[php] Frage zu Array

[php] Frage zu Array

Egon Schmid php_(at)_phpcenter.de
Sat, 1 Sep 2001 22:43:27 +0200


From: "Christian Hamacher" <christian.hamacher_(at)_epost.de>

> > Bei den assoziativen Array ist das etwas anderst, da kann man
> > schreiben $modul[erster_schluessel] = ... . Dies ist aber in PHP
4
> > streng genommen nicht mehr erlaubt (ich weiß es funktioniert
noch).
>
> Da muß ich dir widersprechen. Es war auch in PHP3 eine Unart.
> Nur war bei der Standard-Installation der error Level so
eingestellt
> das es kaum jemanden aufgefallen ist.
>
> C:\php3>type temp.php
> <?php
> error_reporting (E_ALL);
> $fr[a] = 'orange';
>
> ?>

Das ändert aber nichts an der Tatsache, dass $fr[a] falsch ist.

> C:\php3> php temp.php
> X-Powered-By: PHP/3.0.16
> Content-type: text/html
>
> <br>
> <b>Warning</b>:  'a' is not a valid constant - assumed to be "a"
in
> <b>temp.php<
> /b> on line <b>3</b><br>
>
> C:\php3>

Ich hab ja nicht von PHP 3 geschrieben, sondern von PHP 4. Da spielt
auch das error_reporting demnächst keine Rolle mehr. Der Schlüssel
in einem assoziativen sollte halt ein gültiger String sein.

Es ist übrigens genauso eine Unart die öffnenden PHP Tags als <?
anstatt als <?php zu schreiben. Es gibt noch weitere Beispiele, z.B.
sollte man keine Aliase der Funktionsnamen benutzen. Es gibt immer
wieder mal PHP Code Contributoren, die ihrer Zeit 10 Jahre voraus
sind. Wenn dann einer auf die Idee kommt, die Aliase abzuschaffen
(wurde tatsächlich ernsthaft diskutiert) dann wird wahrscheinlich
ein Drittel der Webpräsenzenzen einfach nicht mehr laufen.  Ich
denke dabei z.B. an mysql_numrows(). Kannst Du dir vorstellen, was
passiert wenn ich diese Zeile mit dem Alias auf mysql_num_rows()
einfach lösche.

-Egon



php::bar PHP Wiki   -   Listenarchive