Funktion: Argument eine Variabel zuweisen

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

  • Funktion: Argument eine Variabel zuweisen

    Hallo,

    Ich habe wieder einmal ein Problem und ich finde dazu nicht all zu viel im Internet (vllt. liegt es auch ganz einfach daran, das es schlichtweg nicht möglich ist).

    Man kann ja bei Funktionen optionale Parameter geben... das heisst, wenn nichts angegeben wird, wird automatisch der Wert in der Zuweisung genommen.

    PHP-Code:
    function smilie_replace($str$pre "tspb_")
    {
        
    // tu irgendwas

    Okey, kein Problem... die Variabel $pre hat in der Funktion den Wert "tspb_". Jetzt habe ich aber bevor ich die Funktion im Code geschrieben habe schon die Variabel $tblpre mit dem Wert "tspb_" gefüllt und würde diese gerne dem Argument $pre übergeben. Das klappt aber wie folgt nicht:

    PHP-Code:
    $tblpre "tspb_";


    function 
    smilie_replace($str$pre $tblpre)
    {
       
    // tu irgendetwas

    gibt es da irgend eine Möglichkeit? Globale Variabeln will ich nicht verwenden, da diese ja je nach Server abgeschaltet sind.

  • #2
    Re: Funktion: Argument eine Variabel zuweisen

    Original geschrieben von pascal007


    PHP-Code:
    $tblpre "tspb_";


    function 
    smilie_replace($str$pre $tblpre)
    {
       
    // tu irgendetwas

    versuch es mal so
    PHP-Code:
    function smilie_replace($str$pre) {
    // tu irgendetwas
    }

    $tblpre "tspb_";

    smilie_replace($str$tblpre); 

    Kommentar


    • #3
      ??? Da hast du scheinbar was nicht richtig verstanden.

      Du kannst Defaultwerten - also bei dir der Variable $pre - im Funktionskopf nur statische Werte zuweisen, anders macht es auch keinen Sinn. Der Wert wird dann verwendet, wenn er beim Aufruf nicht angegeben wird. Es stellt sich die dringende Frage, warum du die Variable $tblpre nicht im Funktionsaufruf übergibst...

      PHP-Code:
      $tblpre "tspb_";


      function 
      smilie_replace($str$pre "tspb_")
      {
         
      // tu irgendetwas
      }

      // Hier der Funktionsaufruf
      smilie_replace($string,$tblpre); 

      Kommentar


      • #4
        Weil die immer gleich heisst. Deshalb wollte ich sie gleich der Funktion mitgeben, das ich die nicht mehr jedes Mal schreiben muss.
        Also ich denke mal das wird dann euren Antworten gemäss nicht funktionieren. Ich muss die Variable als Parameter beim Funktionsaufruf übergeben .

        Kommentar


        • #5
          Ich muss die Variable als Parameter beim Funktionsaufruf übergeben
          Musst du nicht unbedingt. Das ist ja eine Variable aus dem globalen Scope und jede Funktion sollte darauf zugreifen können.
          PHP-Code:
          $tblpre "tspb_";
          function 
          smilie_replace($str,$pre='')
          {
            
          $pre $GLOBALS['tblpre'];
            
          //weiterer Code

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Das Problem ist leider, wie ich schon geschrieben habe, dass ich davon ausgehen muss, dass auf dem Server, auf dem ich das Script laufen lassen will, register_globals off ist. Dann bringt mir diese Variante leider auch nicht all zu viel . Trotzdem danke für den Tipp . Sonst noch jmd einen Lösungsansatz?

            Kommentar


            • #7
              $Globals hat nichts mit register_globals zu tun

              Probiers aus

              Kommentar

              Lädt...
              X