Empty()函数在OOP中不起作用

时间:2015-10-25 10:38:31

标签: php

我有这个代码,我试图检查$ name是否为空。在程序风格中,一切都很好,但在OOP中似乎空函数不起作用。我对PHP不是很有经验,所以请解释问题的位置以及如何解决这个问题。

 <?php
    // The code below creates the class
    class Check {
        // Creating some properties (variables tied to an object)
        public $name;
        public $subject;

        // Assigning the values
        public function __construct($name, $subject) {
        $this->name=$name;
        $this->subject=$subject;
        }

        // Creating a method (function tied to an object)
        public function checking() {
         if (empty($name)) {
            echo "empty name";
         }
         else {
            echo "name set";
         }
        }
      }

    $me = new Check('Mark','somesubject');
    echo $me->checking();
    ?>

2 个答案:

答案 0 :(得分:2)

您应该使用:

if (empty($this->name)) {

答案 1 :(得分:2)

应该是

 if (empty($this->name)) {
    echo "empty name";
 }
 else {
     echo "name set";
  }

因为您在代码中使用OOP概念。当您需要引用同一类的变量时,您需要使用$this->关键字后跟 类的变量名,在构造函数中声明为

 public function __construct($name, $subject) {
        $this->name=$name;
        $this->subject=$subject;
        }