PHP---引用使用foreach(xxx as &$x)時候的坑。
注意如下一段程式碼:
$data1 = ["1","2","3"];
$data2 = ["4","5","6"];
$all = 0;
foreach($data1 as &$x){
$all += $x
}
#注意這裡$x是$data1最後一個元素的引用
$all2 = 0;
foreach($data2 as $x=>$y){
$all2 += ($y+$data1[$x]); //原意是計算:1+4 + 2+5 + 3+6 的總和,結果應該是21
}
echo all2;
結果輸出:20
為什麼?
因為第一個foreach執行完後,$x是$data1[2]的引用,所以:
由於第二個foreach迴圈,$data1[2]在不經意間,經歷了0->1->2的變化。
因此,平時在使用完“引用foreach”,可以看情況加上:
unset($x);
相關推薦
PHP---引用使用foreach(xxx as &$x)時候的坑。
注意如下一段程式碼: $data1 = ["1","2","3"]; $data2 = ["4","5","6"]; $all = 0; foreach($data1 as &$x){
說說PHP中foreach引用的一個坑
先來看看下面這段程式碼: <?php $arr = array('apple','banana','cat','dog'); foreach($arr as $key=>$val) { //some code
PHP中isset()、empty()函式中那些坑。。。
1,empty — 檢查一個變數是否為空,bool empty ( mixed $var ) 判斷一個變數是否被認為是空的。當一個變數並不存在,或者它的值等同於false,那麼它會被認為不存在。如果變數不存在的話,empty(
svn提交,svn提交中的白痴的坑。。。。。(引用的)
好久沒用svn,今天想從svn下載資料,checkout的時候就出了這麼個坑爹問題 The XML response contains invalid XML Malformed XML: no element found clear了N次都不行。 原因
php擴充套件獲取_ENV、_SERVER時踩到的坑。
最近寫個router元件,需要獲取SERVER這種超全域性變數。發現在symbool_table裡面死活拿不到,但是POST、GET的可以拿啊。。我就鬱悶了,最後看了下初始化流程。發現坑爹的就排除了SERVER和ENV這2變數的初始化在symbool_table
PHP引用(&)練習
數組 val 內容 new logs style clas 循環 div <?php class talker { private $data = ‘Hi‘; public function &
PHP在foreach中對$value賦值無效,應該用 ‘鍵’ 或者 &$value的形式
image blank key warn 運行 clas 應該 發現 建議 首先我們看下這段代碼: foreach ($data as$value) { $value[‘name‘] = ‘Hehe‘; } $data中原始的數據為: array(
win server 2008 r2 iis+php 500錯誤內部服務器錯誤。
轉載 tor net 異常 p s 故障 配置日誌 設置 也不會 今天遇到一個錯誤是iis 500錯誤,由於server是別人負責的。查看日誌沒什麽異常,就發如今任務日誌裏發現有一段時間間隔沒有記錄。一開始不知道為什麽。之後日誌裏就都是500錯誤了,在iis哪裏配置
一個偉大的發現,裝X一下。筆記本win7系統64位機器執行unity 時,屏幕模糊解決的方法
-a dsm directx ctx font 偉大的 size pop 系統 筆者筆記本win7系統64位機器執行unity 時。往往切換時unity界面屏幕模糊,後來發現此時須要下載DirectXRuntimes201006x64,安裝就可以。 一
php引用 & 詳解
class www. style 輸出 ret 建立 內存空間 spa 之間 在PHP 中引用的意思是:不同的名字訪問同一個變量內容. 與C語言中的指針是有差別的.C語言中的指針裏面存儲的是變量的內容在內存中存放的地址 變量的引用 $a = 222; $b = &
Gitlab不小心關閉了sign-in,無法登錄web的坑。。。
esql postgre server date tla work code 資料庫 name 手賤一不小心用root在gitlab後臺把登錄功能給關了,當時我就懵逼了。 解決方法如下: #進入數據庫修改配置[[email protected] ~]#
php學習的哪些常見的坑
我們 代碼 spa 解決方法 class style 常見 出現 div php使用定界符<<<std std;時,很多新手應該會出現以下問題 而看我們的代碼 <?php $a = 2; echo <<<
error while loading shared libraries: xxx.so.x"錯誤的原因和解決辦法
exp 不想 ech cache 方案 動態鏈接庫 direct 就會 export 一般我們在Linux下執行某些外部程序的時候可能會提示找不到共享庫的錯誤, 比如: tmux: error while loading shared libraries: libe
配置Spring數據源遇到的那些坑。。。
第一次 data rda default 數據源 net clearing disable 配置 作為一名Sping初學者,今天第一次配置Spring數據源就遇到好幾個坑人的地方,記錄下來做個備忘。 1. Mon Nov 27 21:42:01 CST 2017 WARN
PHP curl請求https遇到的坑
無法 ret out function private 數據 fun header 驗證 PHP裏curl對https的證書配置默認是服務器端要求驗證的,如果服務器端沒有配置證書驗證,則無法請求https路徑。如果為了簡便使用不需要配置https證書的話,配置curl時將以
新手 php連接數據庫大概。簡單過程淺析以及遇到的問題分析
文件夾 .com sql als use 情況下 庫文件 定義 英文符號 重點:PHP運行在服務器上的請記住!!! 1.在連接數據庫與PHP之前首先要檢查一下自己PHP文件夾裏的php.ini配置文件裏是否有 ;extension=php_mysqli.dll 有
寫一個帶文本菜單的程序,菜單項如下 (1) 取五個數的和 (2) 取五個數的平均值 (X) 退出。
highlight 五個 div true while blog inpu input 重新 問題: 寫一個帶文本菜單的程序,菜單項如下(1) 取五個數的和 (2) 取五個數的平均值(X) 退出。由用戶做一個選擇, 然後執行相應的功能。當用戶選擇退出時程
使用Bugzilla,你肯定會遇到的坑。
bugzilla smtp ssl mail perl 最近和幾個朋友一起做用戶態協議棧開源項目 NtyTcp ,純業余愛好,個人情懷。剛剛開始做有好多的Bug,故搭建了一個Bugzilla,用來上傳Bug的。有幾個開發朋友想在 bug.ntytcp.com提交bug,不能註冊,因為不能發
Android Studio 3.1.3正式版的新坑。。。
androi exc process uil path time ESS RoCE IV Gradle編譯時沒問題,運行App時候出現: java.util.NoSuchElementException java.lang.RuntimeExcep
linux服務器上使用crontab指令執行制定PHP文件,生成定時任務。
php sage 對象 安裝 dbn 個人 mage message into 首先 寫個 PHP文件 ,我寫的是向數據庫表插入數據,如下圖 <?php $dbms=‘mysql‘; //數據庫類型 $host=‘localhost‘; //數據庫主機名 $dbN