我的是php4.30
register_globals = off
有两个数组$_SESSION['sDelId']和$_SESSION['sId'],$_SESSION['sId']中的元素包含$_SESSION['sDelId']的元素个数,我要做的是把$_SESSION['sId'],中和$_SESSION['sDelId'] 中都村的元素删掉,为什么会出现删不掉的情况?
或者删除了其中的某个元素,别的元素的值就变成0
function Del_Selected()
{
$j = count($_SESSION['sDelId']);
for($i=0;$i<$j;$i++)
{
for($x=0;$x<count($_SESSION['sId']);$x++)
{
if($_SESSION['sDelId'][$i] == $_SESSION['sId'][$x])
{
unset($_SESSION['sId'][$x] );
}
}
}
---------------------------------------------------------------
删除了数组元素后数组的元素个数发生的变化,不能再以定值去访问了。
解决的方法是:
1、逆向删除,即从后往前删
2、使用foeeach循环而不用for循环