PHP变量显示为未定义


PHP variables are shown undefined

<?php
class roxy
{
   function sam()
   {
       $name;
       $class;
       $age;
        echo $name;
        echo $class;
        echo $age;
   }
}
$kush= new roxy();
$kush->name="sachin";
$kush->class=12;
$kush->age=21;
$kush->sam();
?>

这里变量是局部声明的,当变量的值通过对象设置,之后我调用函数,它在结果屏幕中显示未定义

这不是oop的工作方式:以下是您试图实现的工作示例:

<?php
class roxy
{
   public $name;
   public $class;
   public $age;
   public function sam()
   {
       echo $this->name;
       echo $this->class;
       echo $this->age;
   }
}
$kush= new roxy();
$kush->name="sachin";
$kush->class=12;
$kush->age=21;
$kush->sam();
?>

这是因为您的函数sam()没有引用您在之前声明的变量作为对象的变量。相反,它echo是您刚刚在函数sam()中定义的变量,这些变量当然是未定义的。

这个应该可以工作:

class Roxy {
   public $name;
   public $xclass;
   public $age;
   public function sam() {
        echo $this -> name;
        echo $this -> xclass;
        echo $this -> age;
   }
}
$kush= new Roxy();
$kush->name="sachin";
$kush->xclass=12;
$kush->age=21;
$kush->sam(); // > sachin > 12 > 21

+ class是php中的保留关键字。你不应该用它。例如,请使用xclass。

您需要使用$this来引用类自己的属性。要获得想要的行为,将类更改为如下所示:

class roxy
{
    public $name;
    public $class;
    public $age;
    public function sam()
    {
        echo $this->name;
        echo $this->class;
        echo $this->age;
    }
}

1-您的变量是在函数而不是类中定义的!

2-它们应该被声明为public(以及函数)

3-你应该使用$this在函数

中调用它们