致命错误调用未定义的函数

时间:2014-05-11 03:39:56

标签: xampp

我写了这段代码,

<?php
class fizzbuzz{
    function mod3($angka)
    {
        $a = $angka % 3;
        if($a==0) return true;
        else return false;
    }
    function mod5($angka)
    {
        $b = $angka % 5;
        if($b==0) return true;
        else return false;
    }
    function index(){
        for ($i=1; $i < 101; $i++) { 
            if(mod3($i) == true && mod5($i) == true){
                echo "fizzbuzz, ";
            }else if(mod3($i) == true){
                echo "fizz, ";
            }else if(mod5($i) == true){
                echo "buzz, ";
            }else echo $i.", ";
        }
    }
}
$show = new fizzbuzz;
$show->index();
?>

然后它出现了这个错误

致命错误:在第19行的C:\ xampp \ htdocs \ tes-bimasakti \ fizzbuzz.php中调用未定义的函数mod3()

请帮我解决这个错误..

2 个答案:

答案 0 :(得分:0)

您忘记了$this->

    if($this->mod3($i) == true && $this->mod5($i) == true){
       ^^^^^^^--- here            ^^^^^^^---here

没有$this->,php正在寻找顶级全局函数。它不会在你的对象中寻找方法。

答案 1 :(得分:0)

使用this关键字

function index(){
    for ($i=1; $i < 101; $i++) { 
        if($this->mod3($i) == true && $this->mod5($i) == true){
            echo "fizzbuzz, ";
        }else if($this->mod3($i) == true){
            echo "fizz, ";
        }else if($this->mod5($i) == true){
            echo "buzz, ";
        }else echo $i.", ";
    }
}