首页 > 解决方案 > 跨其他函数从类内的变量中获取值

问题描述

class dir_exam 
{
    public $db_ruta;

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

    function veritas() 
    { 
        $aa="ok"; 
        $xx="ok2";

        return $aa; 
        return $xx; 
    }

    function create_d() 
    {
        $r=$this->veritas(); 
        echo $r->$aa; 
        echo $r->$xx; 
    }
}

我有这个类,我尝试在函数 create_d 中执行函数 veritas,但我想将函数 veritas 的值显示为单独的值,在最后执行类时在 create_d 中显示 $aa 和 $xx 的值

<?php
    $a=new dir_exam("db_p");
    echo $a->create_d();
?>

但我最终无法得到这个,我不知道这是不可能的还是什么,这是我的问题,提前谢谢

标签: phpfunctionclass

解决方案


一个函数中不能有 2 个或多个返回值。

如果您像 OOP 一样使用变量 $aa 和 $xx,您必须在类中创建 2 个变量

class dir_exam 
{    
    public $db_ruta;
    public $aa; // <--
    public $xx; // <--
}

之后,您需要更改函数veritas以传递属性的值

   function veritas() 
   { 
        $this->aa="ok"; 
        $this->xx="ok2";
    }

现在在你的函数中你可以这样调用:

function create_d() 
{
    $this->veritas(); 
    echo $this->aa; 
    echo $this->xx; 
}

推荐阅读