mathefritz: Arraykonstanten ?

gibt's, in php, wirklich keine Array-konstanten? Wird zwar nicht als Skript-Fehler bemängelt, liefert aber Unsinn.

  1. Hallo mathefritz,

    gibt's, in php, wirklich keine Array-konstanten? Wird zwar nicht als Skript-Fehler bemängelt, liefert aber Unsinn.

    Was sind Array-konstanten?

    Bis demnächst
    Matthias

    --
    Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
  2. Tach!

    gibt's, in php, wirklich keine Array-konstanten? Wird zwar nicht als Skript-Fehler bemängelt, liefert aber Unsinn.

    Wenn's Unsinn liefert, hast du vermutlich Unsinn geschrieben. Es gibt ein PHP-Handbuch, da stehen beide Syntax-Varianten drin.

    dedlfix.

  3. Hallo und guten Abend,

    gibt's, in php, wirklich keine Array-konstanten? Wird zwar nicht als Skript-Fehler bemängelt, liefert aber Unsinn.

    Nein. Aber Du kannst Dir die Namen der Konstanten trotzdem in einem Array merken:

    <?php  ### array-const.php ### utf-8 ### äöüÄÖÜ
    
    header ('Content-Type: text/plain; CharSet=utf-8');
    
    defined ('MYNMAE') or define('MYNAME', 'Tom');
    defined ('MYNUMBER') or define('MYNUMBER', 'One');
    defined ('MYMATHEFRITZ') or define('MYMATHEFRITZ', 'Witzige Idee');
    
    $_consts = array();
    
    $_consts[] = 'MYNAME';
    $_consts[] = 'MYNUMBER';
    $_consts[] = 'MYNULL';
    $_consts[] = 'MYMATHEFRITZ';
    
    foreach ($_consts as $key => $const)
    {
        echo $key, ' ==> ', ((defined($const))?constant($const):'N/A'), "\r\n";
    }
    
    ?>
    

    ergibt als Ausgabe:

    0 ==> Tom
    1 ==> One
    2 ==> N/A
    3 ==> Witzige Idee
    

    Wie man sich die Namen merkt, bekommst Du sicher selber hin ;-)

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de
    1. Tach!

      gibt's, in php, wirklich keine Array-konstanten?

      Nein.

      Doch, und nun weiß ich auch, was er meinte. Ich hatte erst an ein Array-Literal gedacht.

      Wie man in welchen Versionen konstante Arrays definiert weiß auch das Handbuch: Kapitel Konstanten.

      dedlfix.

      1. Hallo und guten Abend,

        gibt's, in php, wirklich keine Array-konstanten? Doch, und nun weiß ich auch, was er meinte. Ich hatte erst an ein Array-Literal gedacht.

        Wie man in welchen Versionen konstante Arrays definiert weiß auch das Handbuch: Kapitel Konstanten.

        Prima, ab Version 5.6.0 oder in 7.0.
        Wieder was dazugelernt. Habe mich auch immer geärgert, dass das in den älteren Versionen noch nicht ging.

        Grüße
        TS

        --
        es wachse der Freifunk
        http://freifunk-oberharz.de
  4. Danke allen zusammen; es scheint also daß die php Version auf lima-city, wo ich es versuchte, noch pre 5.6 ist, und auf fatcow, wo es zum Einsatz kommen sollte ist die Info explizit 5.5; versucht hatte ich define("aa",array("yy","xx"); echo aa[0],aa[1]; oder ähnlich; Ergebnis immer nur a .

    Insbersondere Dank an TS für Dein Ausführliches Beispiel, das für mich aber ein schwerer Brocken ist.

    Soweit komm ich noch mit: durch shorcut Logikauswertung bleiben die Konstanten im "defined Block" bei Ihrem Wert wenn schon einer zugewiesen ist, sons, was hier der Fall ist, bekommen sie die Werte 'Tom','One', 'Witzige Idee'.

    Aber wo jetzt nachzuschlagen was die Zuweisungen $name[] = ... bedeutet wüßte ich nicht.

    1. Tach!

      Aber wo jetzt nachzuschlagen was die Zuweisungen $name[] = ... bedeutet wüßte ich nicht.

      Im PHP-Handbuch Kapitel zu den Arrays. Es ist Grundlagenwissen, dass man damit ein Element an das Array hängt und PHP die Nummerierung des Keys überlässt.

      dedlfix.

      1. Danke, hab's gefunden .