foreach賦值小細節

          今天開發工作需要對字符串進行一個截取操作,完了以後需要對原數組中的元素賦值,不說勒,直接上代碼!!

                                  foreach($result as $key =>$value){

                                            if(strlen($value['t_message'])>26){

                                                           $value['t_message']=$this->substr_cut($value['t_message'],26);

                                            }

                                   }

      我當時這下$result要修改了吧,但是前臺一直顯示沒有修改成功!!爲啥子呢?

       我換一種方式使用$result[$key]['t_message']=$this->substr_cut($value['t_message'],26),值就已經被修改了,what are you弄啥嘞!

      我仔細的想了一想,應該是php中使用foreach函數,$value這個應該分配了一個臨時的存儲空間,和$result已經沒有了關係,所以我們修改的

     一直都是$value內存空間的值,當程序結束就釋放掉了,沒有對$result修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章