[請益] function的回傳值遇上問題

看板PHP作者 (還在想)時間14年前 (2009/10/19 20:44), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/4 (看更多)
是這樣的 我正在寫一個東西 會呼叫某個function來判別某個文字化的時間 在某個給定的時間範圍內可以出現幾次 不過判斷上並沒有什麼問題 問題不是出在這 而是出在回傳值上,如同標題所述 我用了迴圈,將所有待測的時間帶丟進function內 回傳值則是時間戳記的[陣列] function內會在被呼叫時產生一個新的空白array(使用 $a = array(); 的做法) 然後每找到一個時間就用$a[] = $timeStamp的方式填入陣列 最後再 return $a; 回傳結果 我是想這樣就算完全沒有符合資料,也該會回傳一個空陣列 目前有兩個待測資料 跑第一筆時可以跑出正確結果 我在function內,以及收到回傳值後都用print_r各印一次 第一筆在function的內外印出的結果相符 第二筆卻無論如何也收不到 傳回的東西甚至不是array 但在function內印出的結果,第二筆是有找到資料的 格式也跟第一筆相似,甚至裡面找到的結果數也相同 只有數值不同 回傳回來卻變成虛無 既然直到回傳前,結果都是正確的 問題顯然是出在回傳的過程中 這個function裡面並沒有任何跟外部共用記憶體位置的變數 (記得要用&的傳址呼叫 或 宣告成全域變數 才會有共用吧) 所以我現在是不曉得為什麼會有這個問題 有沒有人能幫我解答 第一次有做出來也有成功丟回來 第二次同樣的事情,有做出來卻收不回來的可能肇因是什麼呢? p.s. 因為是用迴圈,所以兩次都是同一行程式碼 ※跟第一次的結果做個比較 ============================== ---[2]--- Array ( [0] => Array ( [0] => 1259938800 [1] => 1259944200 [2] => 1259884800 ) [1] => Array ( [0] => 1260025200 [1] => 1260030600 [2] => 1259971200 ) ) get : Array ( [0] => Array ( [0] => 1259938800 [1] => 1259944200 [2] => 1259884800 ) [1] => Array ( [0] => 1260025200 [1] => 1260030600 [2] => 1259971200 ) ) . ---[2]--- Array ( [0] => Array ( [0] => 1259933400 [1] => 1259940600 [2] => 1259884800 ) [1] => Array ( [0] => 1260019800 [1] => 1260027000 [2] => 1259971200 ) ) get : . ============================== 原來程式碼是 $results = funA(....); (中間省略不打,有好幾個參數) print_r($results); echo '.<br />'; '---[2]---'的下面第一行是function內的print_r 'get : '後的則是收到回傳值以後印的print_r 所以第一次會看到'get : '後面接著回傳結果,然後是小數點'.'之後換行 第二次'get : '後面卻直接接上 '.' 所以我也不知道這算是什麼東西 ※好像也只能提供函式了 http://radiantgarden.myweb.hinet.net/tFunc.zip -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.236.81

10/19 21:08, , 1F
第二筆傳回後印出來的東西PO一下看看
10/19 21:08, 1F

10/19 21:14, , 2F
印過了,就是什麼也沒有,印出來甚至不占一格空白
10/19 21:14, 2F
※ 編輯: Peruheru 來自: 118.168.236.81 (10/19 21:19) ※ 編輯: Peruheru 來自: 118.168.236.81 (10/19 21:21)

10/19 21:28, , 3F
如果用is_null判斷,回傳結果是否,也就是不是NULL值
10/19 21:28, 3F

10/19 21:31, , 4F
剛用var_dump試,發現回傳的是bool(false)
10/19 21:31, 4F

10/19 21:32, , 5F
我函式並不會傳回布林值喔,而且函式內也有印出來結果
10/19 21:32, 5F

10/19 21:43, , 6F
這要追到函式內部的程式碼才能解密了.
10/19 21:43, 6F
※ 編輯: Peruheru 來自: 118.168.236.81 (10/19 21:51)
文章代碼(AID): #1At5z1QM (PHP)
文章代碼(AID): #1At5z1QM (PHP)