2016-10-02 150 views
2

任何人都可以解釋我如何獲得分配給變量的最終值完成執行while循環後?PHP While循環選擇查詢

在我下面的代碼,我想從呼應的行獲取所有值後進行while循環的響應。

因爲如果我把回聲出while循環它僅顯示第1記錄。

while ($row = oci_fetch_array($array)) { 
    $response = $row['0']->load(); 
    echo $response; 
} 
+0

你會得到最後的行值到'$ response',**原因:**每次循環的執行將分配值放入變量。但是當你迴應它時,你可以看到所有的值作爲輸出。 –

回答

3

你會得到最後的行值到$response

原因:每次循環的執行將分配值放入變量。但是當你迴應它時,你可以看到所有的值作爲輸出。

那麼你真正需要做的是存儲在數組中的值...

$response = array(); 
while ($row = oci_fetch_array($array)) { 
     $response[] = $row['0']->load(); 
} 

print_r($response); 

如果您需要了解更多相關信息,只是讓我知道。

+1

工作完美! – Batman

+0

@Batman,但你不能在同一時間接受兩個答案.. –

+0

你可以考慮使用[oci_fetch_all(http://php.net/manual/en/function.oci-fetch-all.php)相反'oci_fetch_array'不需要'while while循環 – manRo

0

試試這個:

$response = []; 
while ($row = oci_fetch_array($array)) { 
    $response[] = $row['0']->load(); 
} 

var_dump($response); 
+0

這隻返回第一行。 – Batman

+0

您已添加'$ row ['0']'。它將循環直到結束,然後將返回該行的第一個值原因鍵爲0 –

0
while ($row = oci_fetch_array($array)) { 
    $response = $row['0']->load(); 
} 
echo $response; 
+0

這僅返回第一行。 – Batman

+0

什麼是循環內的回聲?什麼應該是echoign?複製並粘貼它 – Aschab

2

由於您在做variable assignmentecho裏面while循環,它不會爲您的目的。

你必須這樣做象下面這樣: -

$response = array(); // create an array 
while ($row = oci_fetch_array($array)) { 
     $response[] = $row['0']->load(); // assign each value to array 
} 

echo "<pre/>";print_r($response);// print the array 

注: - 此數組將所有的值了。你可以在你需要的way.Thanks操縱它