作者eagen0828 (EaGen)
看板PHP
標題[請益] 有關unset的疑問
時間Tue Jul 17 14:12:49 2007
最近在寫程式的時候遇到一個問題
就是我在刪除陣列中元素的時候
用 unset($a[$n]);
可是他連同 $a[$n+1] 一起刪除了
而且最讓我疑惑的是 Firefox沒有這樣的問題 只有IE有 orz
下面是我的程式 請各位大大幫我檢查一下 orz
$a = explode(",",$_SESSION['a']);
$b = explode(",",$_SESSION['b']);
$n = $_POST['n'];
unset($a[$n]);
unset($b[$n]);
$_SESSION['a'] = join(",",$a);
$_SESSION['b'] = join(",",$b);
狀況:
$a = array("1","2","3")
$b = array("1","1","1")
$n = 0
unset後
$a = array("3")
$b = array("1")
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.92.86
1F:推 knockout:呃 沒人回答 ~~ 基本上 也沒出過這問題 ~~ 07/17 18:50
2F:→ knockout:檢查一下$_POST裡的東西吧 ~ :) 07/17 18:51
3F:推 eagen0828:有檢查過了 可是就像我內文說得 $n接收到是正確的 07/17 20:06
4F:→ eagen0828:而且很奇妙的是 我在$_SESSION['a'] = join(",",$a); 07/17 20:06
5F:→ eagen0828:這個動作以前 unset出來的值也是正確的 07/17 20:07
6F:→ eagen0828:然後 直接echo join(",",$a); 也是正確的 >_< 07/17 20:07
7F:推 eagen0828:我找到問題了 可是不知道怎麼解決 -_- 07/17 20:26
8F:→ eagen0828:問題是在$_SESSION['a'] = join(",",$a);的時候 07/17 20:26
9F:→ eagen0828:從2,3 變成了 3 orz 07/17 20:27
10F:推 knockout:每個陣列都print_r看看吧 ~~ (攤手) 07/18 12:22