Newb在这里尝试新事物(对我而言)
我正在尝试:我正在尝试创建一个与每次返回迭代的创意编号,因此巨型kaiju(奇怪的野兽 - 又名哥斯拉和朋友)的事件报告具有以编程方式创建的个人案例编号。这意味着返回一个将是#1,返回两个将是#2,返回3将是#3等人。
我做了什么:我试图把我的int放在开头,中间,结尾,返回之后等等,但不管我把它放在哪里,我总是得到相同的数字(12 )。我已经阅读了关于在php.net上迭代的内容,并查看了堆栈溢出和其他地方,但我没有找到可以内化/理解足以复制的内容。
function __toString(){
$kID = 1;//kaiju incident number
$myReturn = "<p> Incident ID: kID" . $kID ;
$kID++; //not iterating thru
$myReturn .= $kID ;
$myReturn .= " | Massive Terrestial Organsim Reported: " . $this->movTitle . " " ;
$myReturn .= " | Location Name: " . $this->entWhat. " ";
$myReturn .= " | Severity of Incident Reported: " . $this->movRating . "</p>" ;
return $myReturn;
答案 0 :(得分:3)
$kID
都设置为1
。设为static
,以便在函数调用中保留它的值:
static $kID = 1;//kaiju incident number
此外:
$myReturn = "<p> Incident ID: kID" . $kID;
$kID++;
答案 1 :(得分:2)
现在每次调用函数时,此代码都会执行:
$kID = 1
$myReturn = $kID;
$kID++;
$myReturn .= $kID ;
因此$kID
被设置为1,然后是2,因此输出中的12
。
您需要在功能之外定义$kID
。也许像这样重写:
function __toString(&$kID){
$myReturn = "<p> Incident ID: kID" . $kID++ ;