数组下标的问题
各位大侠:
当我用unset()函数删除数组的一个元素时,其下标是否依然是连续的?(用数字作
下标,从零开始)
问题点数:20、回复次数:2Top
1 楼webmin(webmin)回复于 2001-09-01 15:23:52 得分 0
自己整理给三段代码自己去看吧。
function UniqueArrayNoNULL($Array){
for ($i=0;$i<$count($Array);$i++){
if ($Array[$i] != ""){
$U_Array[$Array[$i]] = 1;
}
}
@reset($U_Array);
for ($i=0;$i<count($U_Array);$i++) {
$Unique_Array[] = key($U_Array);
next($U_Array);
}
return $Unique_Array;
}
----------------------------------------
function UniqueArrayHaveNULL($Array){
for ($i=0;$i<$count($Array);$i++){
$U_Array[$Array[$i]] = 1;
}
@reset($U_Array);
for ($i=0;$i<count($U_Array);$i++) {
$Unique_Array[] = key($U_Array);
next($U_Array);
}
return $Unique_Array;
}
----------------------------------------
$e=array_unique($q);//$q需处理的数组。
$y=0;
for ($i=0;$i<$o;$i++)
{
if ($e[$i]!="")
{
$x[$y]=$e[$i];
$y++;
}
}Top
2 楼lkman(ralpher)回复于 2001-09-01 15:42:38 得分 20
下标不连续.
可用以下验证:
<?
$name=array(aaa,bbb,ccc,ddd,eee); //定义数组
unset($name[1]);
while(list($key,$value)=each($name)) //显示数组,$key为下标,$value 为值
{
print "$key-->$value <br>\n";
}
?>
结果为:
0-->aaa
2-->ccc
3-->ddd
4-->eeeTop




