Stringsvergleichen

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

  • Stringsvergleichen

    Hallo Leute!

    Ich hab leider wieder ein Problem...
    Ich bekomme von einem Aufruf einen String übergeben. Ich würde gerne mit switch in die einzelnen möglichen Optionen springen. Leider erkennt das Programm den übergebenen String nicht als String.
    Ich hab das ausprobiert mit:

    PHP-Code:
    if ($iud=="insert")   {
        echo 
    "juhu";
    }
    else    {
       echo 
    "argh";

    Als Ausgabe bekomme ich immer nur argh. Hab das ganze zuerst mit einer Variable probiert die ich selbst direkt vor der if abfrage mit "insert" initialisiert habe. Damit bekamm ich immer "juhu". Weiß jemand was der Grund für dieses Verhalten ist?

    so long
    shimu

  • #2
    Was steht in der Variable drin?
    PHP-Code:
    var_dump($iud); 

    Kommentar


    • #3
      Es steht nichts drinnen...
      Ich bekomme: NULL

      Hab aber noch mal nachgeschaut, ich hab beim Methodenaufruf "insert" übergeben.

      PHP-Code:
      $user->work_with_joomla("insert",$_POST

      Kommentar


      • #4
        Und woher soll $iud kommen? Ich vermute mal du meinst $_POST['iud'].

        Kommentar


        • #5
          Nein ich mein nicht $_POST["iud"].
          Der Methodenkopf schaut so aus:
          [COLOR=#660000] [/COLOR]
          [COLOR=#660000][/COLOR]
          PHP-Code:
          function work_with_joomla($uid,array $data_info
          [COLOR=#660000]
          [COLOR=#660000]Beim Aufruf soll dann "insert" in die Variable $uid gespeichert werden. Geht das bei php nicht?[/COLOR]
          [COLOR=#660000](Kenn das von C, da geht das ohne Probleme)[/COLOR]
          [/COLOR]

          Kommentar


          • #6
            $uid ist nicht das selbe wie $iud.

            Kommentar


            • #7
              Auch wenn du den Tippfehler korrigierst, wird es nicht funktionieren. Funktionsparameter existieren nur innerhalb der Funktion. Du kannst zwar ihren Wert ändern, aber wenn du aus der Funktion zurückkehrst, gehen die Parameter/Variablen verloren. Dass dein Parameter $uid den gleichen Namen hat wie eine Variable im aufrufenden Scope, führt nicht dazu, dass der Parameter überlebt oder sein Wert auf magische Weise in eine Variable gleichen Namens im aufrufenden Scope geschrieben wird.

              PHP: Funktionen - Manual
              PHP: References Explained - Manual

              Kommentar


              • #8
                Danke für eure Hilfe.

                Ich weiß dass die Variable nicht in der Aufrufenden Funktion geändert wird. Ich verarbeite aber alles in der aufgerufenen Funktion, also brauch ich sie nicht im aufrufenden Scope.
                Aber nochmals danke für eure Hilfe. Jetzt funktioniert alles so wie es soll.

                so long
                shimu

                Kommentar

                Lädt...
                X