程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 方法調用返回值和輸出值不同,調用返回值輸出

方法調用返回值和輸出值不同,調用返回值輸出

編輯:關於PHP編程

方法調用返回值和輸出值不同,調用返回值輸出


現象:調動方法,在return之前有輸出值,但是在調用方法中就沒有相應的返回值

解決辦法:折騰了好久,原來在構造方法中已經傳遞了需要的變量,在方法中再次傳遞變量,在構造方法中有輸出值,但是在方法中因為參數傳遞錯誤無法正常得到返回值。代碼如下

public function __construct ( $usrid, $firmid=0, $depart=0 ) {
		$usrid = abs(intval($usrid));
		parent::__construct($usrid);
		
		$firmid = abs(intval($firmid));
		$depart = abs(intval($depart));
		if ( empty($firmid) ) $firmid = FirmStaff::club($usrid);
		if ( empty($depart) ) $depart = FirmStaff::work4firm($usrid, $firmid);
		
		$this->_usrid = $usrid;
	}

  

public function joinurl ($userid) {
	    if ( empty($userid) ) throw new Exception('查詢的主鍵信息不能為空');
	    $clubid = FirmStaff::club($userid);
	    if ( !isset($clubid) || empty($clubid) ) throw new Exception( '該用戶沒有公司,請聯系公司的HR' );
	    debug_print_backtrace();die();
            $firmobj = new CMFirm($clubid);
            $nmroad  = $firmobj->challengemap(null,false,true);
            
            $roadlinks = UtilRoad::roadmaplinks();
            
	    return isset($roadlinks[$nmroad]) ? $roadlinks[$nmroad] : '/acteam/index';
	}

反思:這種寫代碼方式是需要避免的,在構造方法中已經實例化的參數不要在在方法參數中添加,這樣做會是問題復雜化。  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved