0

谁能明白为什么我的 check_multi 函数会返回一个 --

致命错误:在第 21 行的 /var/www/vhosts/aero.onelinksoftware.com/application/models/Design.php 中调用未定义函数 check_multi()

出现上述错误,我不确定我做错了什么。我尝试将我的功能设置为公共、私有、静态和其他组合,但无论我尝试什么;系统仍然出错。你不能在 Zend 的模型中调用函数吗?我不明白如果我创建的函数在我创建的类中,为什么我不能使用它。

如果我在 check_multi 调用之前回显并死掉;我可以看到我的文字等。我还对语法进行了 php 测试,据报告它是有效的。

class Model_Design
{
    /**
     * Constructs our partials.
     *
     * @return void
     */
    public function __construct($key)
    {
        // Get the DB Connection
        $db = Zend_Registry::Get('db');
        // Setup the SQL Statement
        $sql = $db->select()->from('design', array('id'));
            // Get the Result
            $result  = $sql->query();
            // Get our Row
            $row     = $result->fetchAll();

            if(check_multi($key, $row)) {
                echo "omg"; die();
            }

        // Make sure the id isn't empty
        if (empty($key)) {
            throw new Exception('You have a disturbing lack of variables.');
        }

        // Store the id
        $this->variables = $key;


        // Construct our query
        $sql = $db->select()->from('design')->where('`id` = ?', $key);
            // Get the result
            //$result    = $sql->query();
            //$row   = $result->fetch();
    }

    private function check_multi($n, $arr)
    {
        foreach ($arr as $key => $val) {
            if ($n===$key) {
                return $key;
            }
        }
        return false;
    }
}
4

2 回答 2

1

尝试:

$this->check_multi($key, $row);

要从容器类内部访问变量或函数,您必须使用 $this。$this 是类的当前实例。

于 2012-11-28T15:11:20.673 回答
1

你如何调用函数?使用$this->check_multi($n,$arr);或者你可以尝试function_exists()来检查函数是否真的存在

于 2012-11-28T15:13:08.440 回答