Re: [心得] 關於 未設定變數警告

看板PHP作者 (Arrack Tseng)時間15年前 (2009/07/24 20:18), 編輯推噓8(8014)
留言22則, 7人參與, 最新討論串4/4 (看更多)
※ 引述《HuangJC (吹笛牧童)》之銘言: : <?php : $dev['conf'] = array(); : unset($dev['conf']); // 我以為這樣 unset,就可以偽造新帳號 : $data = &$dev['conf']; : $dev['name'] = $data['basic']['name']; // err : var_dump($dev); : ?> PHP裡面只要你有去給值就當成了宣告 先來做個實驗 <? error_reporting( E_ALL); echo $dev ?> Notice: Undefined variable: dev in xxxx on line 4 先給值加上unset呢? <? error_reporting( E_ALL); $dev=1; unset($dev); echo $dev ?> 出現Notice: Undefined variable: dev in xxxx on line 6 證明unset是有作用的 最後 <? error_reporting( E_ALL); $det2=1; $dev=array(); unset($dev); $dev=&$dev2; echo $dev ?> 沒錯誤,原因就是...你知道的 這也是宣告的一種。 還是不夠? foreach(get_defined_vars() as $k=>$v){ echo $k.":".$v."<br>"; } 測試看看就知道了 結論這不是BUG(我也認真了起來=_=); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.213.47 ※ 編輯: arrack 來自: 61.56.213.47 (07/24 20:20)

07/24 21:45, , 1F
這系列只有這篇讓我學到東西=_=
07/24 21:45, 1F

07/24 23:11, , 2F
是指foreach()裏包了一個函式嗎? 這....(抖)
07/24 23:11, 2F

07/24 23:15, , 3F
喔,原來可以..我還以為會造成重複呼叫..>_<;
07/24 23:15, 3F

07/25 00:01, , 4F
php版裡的謠言終結者 m(_ _)m
07/25 00:01, 4F

07/25 00:26, , 5F
推這篇XD"
07/25 00:26, 5F

07/25 00:44, , 6F
推XD
07/25 00:44, 6F

07/25 01:47, , 7F
不過我討論的是 unset $dev2 ,至於上例$dev 等於馬上
07/25 01:47, 7F

07/25 01:48, , 8F
被宣告,這倒是很明確;&指到未定義變數時會馬上'生'出
07/25 01:48, 8F

07/25 01:48, , 9F
來才是我驚訝的
07/25 01:48, 9F

07/25 08:43, , 10F
老實說 那個警告我是常年的關掉,
07/25 08:43, 10F
※ 編輯: arrack 來自: 61.56.213.47 (07/25 08:55)

07/25 12:36, , 11F
http://tinyurl.com/nh3dtg 說到&馬上生出來
07/25 12:36, 11F

07/25 12:36, , 12F
不知道從上面那個網址的說明可不可以看出端倪
07/25 12:36, 12F

07/25 12:36, , 13F
Using references with undefined variables <--
07/25 12:36, 13F

07/25 14:46, , 14F
$a and $b are completely equal here. $a is not po
07/25 14:46, 14F

07/25 14:46, , 15F
not pointing to $b or vice versa. $a and $b are
07/25 14:46, 15F

07/25 14:46, , 16F
pointing to the same place. 所以...
07/25 14:46, 16F

07/25 17:54, , 17F
我們網站會分開發及上市階段,上市後也會關閉警告
07/25 17:54, 17F

07/25 17:54, , 18F
有些團體化的運作方式不是個人能想像的
07/25 17:54, 18F
※ 編輯: arrack 來自: 61.62.36.202 (07/26 18:41)

07/26 18:42, , 19F
難想像?,哈哈...
07/26 18:42, 19F

07/27 13:51, , 20F
有時跟第二個主管,他愛用的方法正是被第一個主管批成
07/27 13:51, 20F

07/27 13:52, , 21F
一文不值的東西;是要加入批判主管大嘆不得志,還是簡
07/27 13:52, 21F

07/27 13:52, , 22F
單交代一下'每間公司不同',去適應就好了呢~
07/27 13:52, 22F
文章代碼(AID): #1AQQQipi (PHP)
文章代碼(AID): #1AQQQipi (PHP)