Re: [心得] 關於 未設定變數警告
※ 引述《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
07/24 23:11, 2F
→
07/24 23:15, , 3F
07/24 23:15, 3F
推
07/25 00:01, , 4F
07/25 00:01, 4F
推
07/25 00:26, , 5F
07/25 00:26, 5F
推
07/25 00:44, , 6F
07/25 00:44, 6F
推
07/25 01:47, , 7F
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
07/25 12:36, 11F
→
07/25 12:36, , 12F
07/25 12:36, 12F
→
07/25 12:36, , 13F
07/25 12:36, 13F
→
07/25 14:46, , 14F
07/25 14:46, 14F
→
07/25 14:46, , 15F
07/25 14:46, 15F
→
07/25 14:46, , 16F
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
討論串 (同標題文章)