2011-10-08 99 views
0

如何刪除此警告?通過參考變量警告結束()

嚴格的標準:只有變量應該按引用傳遞在

我有一些代碼從一個多維數組獲得獨特的值,然後得到最後一個索引。

$catchColors[]= array(); 

for ($i = 0; $i < $totalRows; $i++) { 
    $catchColors[$i] = $postData[$i]['ColorID']; 
} 

$result = array_unique($catchColors); 
print_r($result); 

print end(array_keys($result)); 

它仍然返回值,但是如何刪除警告?

+3

不應該是'$ catchColors = array();'? –

+0

error_reporting或@ – steve

+0

[嚴格標準:只有變量應該通過引用傳遞]的可能重複(http://stackoverflow.com/questions/2354609/strict-standards-only-variables-should-be-passed-by-reference ) –

回答

4

這是因爲函數end的參數將通過引用傳遞。因此,它不可能是另一個功能的回報,它應該像通知所說的那樣是一個實際的變量。

因此,一個解決方案是創建一個臨時變量來保存鍵的數組,然後在該數組中執行end

$keys = array_keys($result); 
print end($keys);