色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php 移除數組重復元素的一點說明

如:
復制代碼 代碼如下:
$test_array=array(1,2,3,4,4,5,5,6);
$test_array_unique=array_unique($test_array);
print_r($test_array_unique);
$test_array=array(1,2,3,4,4,5,5,6);
$test_array_unique=array_unique($test_array);
print_r($test_array_unique);
但是至此,不要粗心,事還沒結束。細心的看你會發現經管重復的元素被移除了,但是剩下來這些元素的索引沒有變化,這樣的話如果用for循環調用這個數組元素的時候就會發生錯誤了,因為for循環的時候是按照數字遞增,而且大多數人用的是count($test_array_unique)來獲得數組的大小,這樣就會造成一些元素被遺漏;
復制代碼 代碼如下:
$test_array=array(1,2,3,4,4,5,5,6);
$test_array_unique=array_unique($test_array);
for($i=0;$i<count($test_array_unique);$i++)
{
echo $test_array_unique[$i];
}
$test_array=array(1,2,3,4,4,5,5,6);
$test_array_unique=array_unique($test_array);
for($i=0;$i<count($test_array_unique);$i++)
{
echo $test_array_unique[$i];
}
這樣你不會看到元素6被輸出,因為6的索引是8,處理前的數組和處理后的數組索引沒有任何改變;
解決辦法:
當然,這里解決辦法太多了,我介紹的只是一種我覺得比較簡單的方法,那就是函數array_values,array_values是返回數組的值,跟索引沒有關系,這樣處理后會形成一個新的數組,嚴格按照數字遞增的索引,這樣再使用for循環輸出邊一切OK了!
復制代碼 代碼如下:
$test_array=array(1,2,3,4,4,5,5,6);
$test_array_unique=array_values(array_unique($test_array));
for($i=0;$i<count($test_array_unique);$i++)
{
echo $test_array_unique[$i];
}

php技術php 移除數組重復元素的一點說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 疏附县| 佛冈县| 明水县| 金坛市| 丰镇市| 乐至县| 随州市| 色达县| 叙永县| 富源县| 东海县| 泽州县| 南平市| 高雄市| 井冈山市| 平陆县| 安达市| 沙田区| 乐陵市| 岑巩县| 乌鲁木齐市| 吴江市| 九江县| 衡南县| 余庆县| 横山县| 潞西市| 南宁市| 龙门县| 平湖市| 额尔古纳市| 分宜县| 岐山县| 嘉荫县| 沁阳市| 鸡西市| 乡宁县| 镇赉县| 永善县| 巫山县| 滨州市|