自己調用自己返回參數問題(給自己蠢哭)

今天在做富士康的出貨接口時的代碼情景是,一直查詢接口,如果接口返回的不是成功或者失敗,則繼續查詢接口,所以我就寫了一個自己調用自己的函數

public function clorder(){
        header("Content-type:text/html;charset=utf-8");
        $url = url;
        $chdatawc['VM_NO'] = 11;
        $chdatawc['TRADE_NO'] = 22;
        $outputwc = $this->http_post($url,$chdatawc);
        global $aa ;
        if($outputwc == "PT_FINISHED"){
            $aa = "s";
        }elseif($outputwc == "PT_ERROR"){
            $aa = "f";
        }else{
            sleep(2);
            $this->clorder();
        }
        return $aa;
    }

查詢的狀態有

PT_CREATE         創建中

PT_SHIPPING       出貨中

PT_FINISHED       出貨成功

PT_ERROR          出貨失敗

之前沒加全局變量的話,返回的一直是第一個狀態,其實已經到第三個了,但是return輸出的是null。研究了一小時,發現是少了個全局變量。後來加了    global    後,就可以正常的使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章