2017-11-16 1 views
-3

Ich habe einen solchen Code:Wie verwenden Sie Return-Anweisung?

class test(){ 
    #some operation to get $data 
    function test1($data){ 
     #save some part of data 
     return $save 
    } 
    function test2($data, $save(!!!)){ 
    #some operation 
    } 
} 

Frage: wie $save in test2() Variable verwenden, die von test1() zurückkehren?

+1

zeigen, wie Sie die Funktionen aufrufen. – urfusion

+2

Wenn Ihr Code 'test2()' aufruft, kann er den Wert übergeben, den er beim Aufruf von 'test1()' erhalten hat. * Bearbeiten: * Oder, da Sie Ihren Code für die Verwendung einer Klasse bearbeitet haben, können Sie Ihren Wert als Mitglied auf Klassenebene definieren, auf das beide Funktionen zugreifen können. – David

+0

@urfusion '$ this-> test1 ($ data)' – tome

Antwort

0

Schreibcode auf diese Weise

<?php 
class test{ //class no reuqire() 
    function test1($data) 
    { 
      $save=$data+10; //$data assign in $save 
      #save some part of data 
      return $save; //return $save value 
    } 
    function test2($data){ 
     $data=$this->test1($data); //call a test1() function from test2() 
     echo $data; //print return data from test1() 
    } 
} 
$new=new test(); //create object of class test 
$new->test2(20);//call test2() function using class object $new 

Demo: run demo code

1

Vielleicht wird dies eine alternative Lösung sein, aber so weit ich sehen, Ihnen fehlt der OOP Wissen. Ich würde empfehlen, zuerst PHP-OOP zu lesen.

Hier schreibe ich Ihnen eine einfache und saubere Klassenstruktur, um es verständlicher zu machen.

class Test { 

    private $data; 

    public function __construct($data) { 
     $this->data = $data; 
    } 

    public function setData($data) { 

     $this->data = $data;   

     return $this; 
    } 

    public function getData() { 

     return $this->data; 
    } 
} 

Jetzt sind Sie in der Lage, die Daten zu setzen/erhalten:

$test2 = new Test("Save my text"); 
$test1 = $test2 
      ->setData("Changing my text...") 
      ->getData();