2013-03-30 2 views
0

Я функция, скажем:PHP, как получить доступ к переменной внутри функции

//file file1.php 
class p{ 
    function a(){ 
    global$v1;   
    $v1=''; 
    //some processing to $v1 here// 
    return $v1; 
    } 
} 

Как получить доступ к $ v1? ($ V1 в return $v1)

Это моя попытка (в другом файле):

//file file2.php 
include 'file1.php'; 
$obj=new p(); 
$print=$obj->a()->$v1; 
echo $print; 

Почему не он ничего печатать?

+1

Во-первых, $ v1 является __not__ свойством р(), поэтому пытаются использовать свободно интерфейс для доступа к свойству $ v1 бессмысленна –

+0

Во-вторых, вы имеете $ v1, как глобальный, так почему бы не просто «echo $ v1;» –

+1

В-третьих, узнайте немного о ООП –

ответ

1
class p{ 
    function a($v1){ 
      ///some processing to $v1 here// 
      return $v1; 
     } 
    } 

Затем передайте свою переменную в качестве аргумента вашей функции.

//file file2.php 
$v1 = 'Test'; 

require 'file1.php'; 
$obj=new p(); 
$print=$obj->a($v1); 
echo $print; 
+0

приятно, спасибо @Adrian – user2192076

0
<?php 
//file file1.php 
class p{ 
    protected $v1; 

    public function setP($v1){ 
    $this->v1 = $v1; 
    } 

    public function getP(){ 

    $this->setP(''); 
    ///some processing to $v1 here// 
    return $this->v1; 
    } 
} 

$obj = new p(); 
$print = $obj->getP(); 
echo $print; 
?> 
+0

привет спасибо @Arvind – user2192076

Смежные вопросы