我正在尝试了解类定义的基础知识并使用计算

这是代码

<?php

class calculator {
    var $number1 = 4;
    var $number2 = 5;

    function add ($a,$b){
        $c = $a + $b;
        print ("the sum of your numbers: $c");
        print ($c);
    }

}

$cal = new calculator;
$cal->add($number1,$number2);

?>


我的浏览器中显示的是:


您的数字总和:0


为什么不是9?

最佳答案

您传入的$number1$number2的值是什么? $number1$number2$cal->number1$cal->number2不同。

您要定义一个对象的两个属性,并将两个不同的,独立的变量传递给该类的函数。基本上,您有两对数字-对象中的一对数字,其值为4和5,而函数外部的一对数字则没有值(均为0),然后将它们相加。

您可以尝试以下方法:

<?php
class calculator {
    private $number1 = 4;
    private $number2 = 5;

    function add ($a, $b){
        $c = $this->$a + $this->$b;
        print ("the sum of your numbers: $c");
        print ($c);
    }

}

$cal = new calculator;
$cal->add('number1', 'number2');


或这个:

<?php
class calculator {
    private $number1 = 4;
    private $number2 = 5;

    function add (){
        $c = $this->number1 + $this->number2;
        print ("the sum of your numbers: $c");
        print ($c);
    }

}

$cal = new calculator;
$cal->add();


或这个:

<?php
class calculator {
    function add ($a, $b){
        $c = $a + $b;
        print ("the sum of your numbers: $c");
        print ($c);
    }

}

$cal = new calculator;
$cal->add(4, 5);

关于php - 不需要计算输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5325536/

10-13 05:24