我刚刚创建了我的第一个PHP class
,但我对此非常陌生,现在我不知道如何在我创建的variable
内调用function
。
例如:
class Example
{
public function testFunction() {
$var1 = "Test";
$var2 = "Hello";
}
}
然后,例如,echo
$ var1。
我知道我可以通过这个来调用函数:
$something = new Example();
$something->testFunction();
但是如何在函数内部调用其中一个变量?
我也知道如果变量在函数之外,那就是:
$something = new Example();
echo $something->var1;
我可以使用return
,但这样我只用一个变量结束,并且我在该函数中有多个变量。
我希望你能帮助我。
答案 0 :(得分:2)
函数内部的变量在它们之外是不可用的。该函数需要return
变量。
即
function getName(){
return "helion3";
}
echo $myClass->getName();
如果您需要多个,请返回一个数组:
return array("name1","name2");
答案 1 :(得分:1)
要从类外部类函数访问变量,需要将变量设置为类的属性:
class Example {
public $var1 = '';
private $var3 = ''; // private properties etc are not available outside the class
public function testFunction() {
$this->var1 = 'Test';
$var2 = 'Test2';
$this->var3 = 'Test3';
}
}
$something = new Example();
echo $something->var1; // Test
echo $something->var2; // can't do this at all (it's not an object property)
echo $something->var3; // can't do this, it's private!
当然,您可以从功能本身返回任何您喜欢的内容......
public function testFunction() {
$this->var1 = 'Test';
$var2 = 'Test2';
$this->var3 = 'Test3';
return array($this->var1, $var2, $this->var3);
}
您可以返回私有属性和本地范围的变量...
list($var1, $var2, $var3) = $something->testFunction(); // all there!
答案 2 :(得分:1)
在函数体内声明的变量只能在函数体中访问。
如果你的函数需要返回多个值,你要么a)返回一个新对象,要么b)返回一个数组:
return [$var1, $var2];
在调用代码中:
list($a, $b) = $something->testFunction();