alkativo: Rückgabewert aus Funktion

Hi,

wie mache ich denn sowas?

<?
$text = "so ist er";

function aendern(){
$text = "anders";
return $text;
}

echo $text;
aendern();
echo $text;
?>

Also einen Wert mit einer Funktion ändern?

CU

  1. Hi alkatvo,

    na was macht die Matrix?
    <?

    $text = "so ist er";

    function aendern(){
    $text = "anders";
    return $text;
    }

    echo $text;
    $text = aendern();
     echo $text;
    ?>
    so das war es

    CU

    1. Hello,

      <?

      $text = "so ist er";

      function aendern(){
      $text = "anders";
      return $text;
      }

      echo $text;
      $text = aendern();
       echo $text;
      ?>
      so das war es

      Nee nee nee.

      Wenn man im Archiv der letzten vier Wochen mal suchen würde, würde man wahrscheinlich die ausführliche Antwort einiger Stammposter auf genau dieselbe Frage finden.

      Wenn eine Funktion mit einen Argument aufgerufen wird

      $text = 'Du blöder Kerl';

      function alterText($text)
        {
          $neuerText = strtoupper($text);
          return $neuerText;
        }

      echo alterText($text);
        echo $text;

      dann kann man das Argument in der Funktion bearbeiten, ohne dass der Originatwert ( $text ) überhaupt geändert wird. Der ist nämlich durch eine Namensraumabgrenzung geschützt. Es wird nur eine Kopie des Wertes an die Funktion übergeben.

      Wenn eine Funktion aber mit der Adresse des Wertes versorgt wird

      function alterText(&$text)
        {
          $text = strtolower($text);
          return 'habe alles erledigt';
        }

      echo alterText($text);
        echo $text;

      Dann wurde der Wert des Argumentes, dessen Adresse an die Funktion übermittelt wurde, geändert. Das nennt mann dann auch Call by Reference oder auch Varibale Access Reference Call (VAR-Call).

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau