PHP有一些很棒的函數(如array_walk),它們允許您處理數組中的每個元素。它們通常會被設置,因此您可以將要處理的數組指定爲第一個參數,並將回調函數作爲第二個參數應用於每個元素。這些函數返回表示成功的布爾值,而不是您所期望的修改數組的副本。如果你想在數組修改,你必須通過引用像array_walk(&$my_array, 'my_callback');
使用類似array_walk(和類似函數)的函數修改PHP中的數組>> 5.3
傳遞數組。然而,在PHP 5.3及以上版本,如果你通過參考函數調用你會得到一個錯誤E_DEPRECATED。
有誰知道(如果存在)一個正確的方式來使用這些函數修改數組而不觸發錯誤,並沒有明確禁止它們?這些舊的數組處理函數是否有更新的替代方案?
啊......謝謝,有道理。有趣的細微差別 - 你不能通過引用來調用,但是你可以用引用的參數定義一個函數/方法。 http://php.net/manual/en/language.references.pass.php我仍然希望這些函數返回修改數組的副本或null而不是布爾值! – Ray 2012-07-23 16:39:14
是的,確切地說。很高興幫助。 – 2012-07-23 16:58:59