Assoziative Arrays und Variablen

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

  • h3ll
    antwortet
    Nur weil etwas geht, heißt es noch lange nicht, dass man es so machen soll.

    Auf global sollte man großteils verzichten. Das ist sehr sehr schlechter Programmierstil.

    Einen Kommentar schreiben:


  • piratos
    Ein Gast antwortete
    Zitat von h3ll Beitrag anzeigen
    Was soll der global-Pfusch?
    Hä ?

    PHP: Variable scope - Manual

    Einen Kommentar schreiben:


  • fireweasel
    antwortet
    Es hat wohl was damit zu tun, dass $id kein string ist.
    Der Typ der Variablen $id ist doch vollkommen egal. Wenn sie mit "." verknüpft wird, konvertiert PHP sie automatisch nach String und fertig. Im schlimmsten Fall würde dann dein zusammengebauter Pfad nicht passen.

    Wenn ich in den array direkt z.b.
    PHP-Code:
    'dir_cache' => dirname(__FILE__).'/../img/news/33/cache' 
    schreibe, funktioniert alles.
    Definiere doch mal bitte "funktioniert alles" und "funktioniert nicht" genauer.
    Und lass dir $id (innerhalb deiner Funktion) und $userconfig['dir_cache'] für beide Fälle von var_dump() anzeigen.
    Dann sehen wir weiter (oder klarer ).

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Was soll der global-Pfusch?

    Einen Kommentar schreiben:


  • piratos
    Ein Gast antwortete
    Zitat von Montephp Beitrag anzeigen
    PHP-Code:
    function news_content($id)
    {
       ...
       
    $userconfig = array(...);
       ...

    PHP-Code:
    function news_content($id)
    { global 
    $userconfig;
       ...
       
    $userconfig = array(...);
       ...

    Einen Kommentar schreiben:


  • PHP-Desaster
    antwortet
    Na, dann kommt die ID wohl falsch an. Mal debuggen. Und das error_reporting hochdrehen. Und mal definieren, was statt der korrekten ID ankommt, beschreibe doch wenigstens mal das aktuelle Phänomen. Es ist auf jeden Fall ein Fehler in deinem Code und um den zu finden sind etwas mehr Informationen nötig.

    Einen Kommentar schreiben:


  • Montephp
    antwortet
    Achso, folgende Serverdaten:

    PHP Version: 5.2.10-0.dotdeb.1
    System: Linux weizenbaum 2.6.26-2-amd64 #1 SMP Thu May 28 21:28:49 UTC 2009 x86_64

    wenn ich
    PHP-Code:
    $id="33"
    ausschreibe, funktioniert es.

    jetzt kommt Sie so in spiel:
    PHP-Code:
    function news_content($id)
    {
       ...
       
    $userconfig = array(...);
       ...

    Einen Kommentar schreiben:


  • Montephp
    antwortet
    $id ist ein Übergabeparameter indem eine Zahl drin steht. Also die ID eines Newseintrages.

    Und was heißt
    Zitat:
    Dies scheint so aber offensichtlich nicht zu funktionieren.
    ?
    Naja, wenn es so funktionieren würde, hätte ich ja nicht gefragt...

    Einen Kommentar schreiben:


  • PHP-Desaster
    antwortet
    Was steht denn in $id? Und was heißt
    Dies scheint so aber offensichtlich nicht zu funktionieren.
    ? Die Syntax sieht korrekt aus.

    Einen Kommentar schreiben:


  • Montephp
    hat ein Thema erstellt Assoziative Arrays und Variablen.

    Assoziative Arrays und Variablen

    Moin moin da draußen,

    ich bin kurz davor den Rechner aus dem Fenster zu werfen. Deshalb bitte keine "im Forum suchen"-Antworten. Ich suche bereits seit mehreren Stunden... :-(

    Hier also mein Problem:
    Ich möchte gerne einen Assoziativen Array erstellen, in dem 'dir_cache' und 'dir_upload' variabel gehalten werden. Dies scheint so aber offensichtlich nicht zu funktionieren.

    PHP-Code:
    $userconfig = array(
        
    'overwrite_cache' => 'off',                 //Cache bei jedem Aufruf neu erstellen: on = an, off = aus 
        
    'pic_image_quality' => 90,                  //Bildqualitaet: 0 = schlechteste , 100 = beste
        
    'show_metadata_iptc' => 'on',               //IPTC-Ausgabe: on = an, off = aus
        
    'show_metadata_exif' => 'off',              //EXIF-Ausgabe: on = an, off = aus 
        
    'dir_cache' => dirname(__FILE__).'/../img/news/'.$id.'/cache',          //Pfad zum Cache Verzeichnis
        
    'dir_upload' => dirname(__FILE__).'/../img/news/'.$id,        //Pfad zum Upload Verzeichnis
        
    'http_method' => 'GET',                     //Uebermittlungsmethode der Query-Variable: PATHINFO oder GET
        
    'http_var_name' => 'q',                     //Name der Query-Variablen die per http_method uebergeben wird
        
    'response_type' => 'json'                   //Art der Antwort: direkt = json, include = php
    ); 
    Mein Lösungsansatz:
    Es hat wohl was damit zu tun, dass $id kein string ist. Wenn ich in den array direkt z.b.
    PHP-Code:
    'dir_cache' => dirname(__FILE__).'/../img/news/33/cache' 
    schreibe, funktioniert alles. Ist aber leider wieder nur statisch.

    Vielen Dank für eure Hilfe
Lädt...
X