我创建了一个类abc和静态变量以及两个具有名称setsize的函数,其中我设置了一个值,另一个函数创建了一个getsize以在getsize函数中获取值。我在调用一个函数时增加一个值,其输出必须为101但输出为什么是100
<?php
Class abc { // create a class
public static $a;
static function getsize() { make a function
return self::$a++; //increment a static variable
}
static function setsize($n) {
self::$a=$n; // set size of static variable
}
}
abc::setsize(100); // set value of static variable
echo abc::getsize(); //call getsize function output is 100 but it must be
101
答案 0 :(得分:0)
您需要做的就是使用预增量来获得所需的结果。这是因为您将++
与回显一起使用。 http://php.net/manual/en/language.operators.increment.php
代码:(Demo)
Class abc{ // create a class
public static $a;
static function getsize() {
return ++self::$a; //increment a static variable
}
static function setsize($n) {
self::$a = $n; // set size of static variable
}
}
abc::setsize(100); // set value of static variable
echo abc::getsize(); //call getsize function output is 100 but it must be 101
// output: 101
在一个简单的演示中:(Demo)
$hundy = 100;
echo $hundy++;
echo "\n$hundy";
echo "\n---\n";
$hundy = 100;
echo ++$hundy;
输出:
100
101
---
101