2012-05-07 46 views
3

我有一個具有給定的陣列上執行一些處理此PHP函數:PHP:通過引用傳遞給函數的數組?

processArray($arrayToProcess) { 

    $arrayToProcess['helloStackOverflow'] = TRUE; 
} 

後來,代碼調用以下:

$niceArray = array('key' => 'value'); 
processArray($niceArray); 

關鍵「helloStackOverflow」不可用外processArray函數。我打過電話如下:

processArray(&$niceArray); 

使用「&」幫助,但它提出了一些警告:

棄用的功能:通話時傳遞的引用已被棄用;如果您想通過引用傳遞它,修改populateForm_withTextfields的()

試過&在那裏聲明,但只是停止代碼。

我該怎麼做?

回答

12

您必須在函數中定義引用,而不是在調用函數中。

function processArray(&$arrayToProcess) { 
8
processArray(&$arrayToProcess) { 

    $arrayToProcess['helloStackOverflow'] = TRUE; 
} 

以PHP方式實現參考。有關參考的有用信息,請參閱http://fi2.php.net/references