在PHP開發中,我們經常會迭代一個數組,並且修改其中的元素的值,如果我們有其它語言的經驗,那麼這裡我們很可能就會出錯。
就拿java來說,因為我對java還是比較熟悉的,在java中我們迭代一個數組,並修改其值,我們會採用如下方法:
<span> </span>for(Object item : objectArray){ <span> </span>item.setAttribute('value'); <span> </span>}
foreach($arrays as $item){ $item->name = 'value'; } echo $arrays[0]->name;
經過一番調試之後,最後猜想是不是上面的程式碼傳的是值,而不是引用。於是去官網查看文檔,發現竟然真的是這樣,於是我修改程式碼成下面這樣:
foreach($arrays as &$item){ $item->name = 'value'; } echo $arrays[0]->name;或者是這樣:
foreach($arrays as $key=>$item){ $arrays[$key]->name = 'value'; } echo $arrays[0]->name;這兩種方法運行結果都OK。於是,覺得官方文件應該多讀讀。當初只是大體過了一遍,並沒有真正讀透,就開始做專案。
參考資料:
PHP官網對foreach的解釋:http://php.net/manual/en/control-structures.foreach.php
更多乾貨,請關注微信公眾號:開發and生活
以上就介紹了 php foreach,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。