-
[PHP]array_unique 이용하기카테고리 없음 2012. 9. 18. 16:10
-------------------------------------------------------------------------------
array(4) {
[0]=>
string(118) "217,1796,1804,1818,1828,6437,10487,10489,11161,11163,13350,13351,19763,20019,22110,6901,3957,9294,9311,9313,9315,30357"
[1]=>
string(147) "1333,1567,1688,1756,1796,1800,1804,1818,1828,6437,10487,10489,11161,11163,13350,13351,19763,20019,21699,22110,22603,22672,9294,9311,9313,9315,30357"
[2]=>
string(19) "217,1818,10487,3957"
[3]=>
string(23) "217,1333,1756,1804,6437"
}
-------------------------------------------------------------------------------
위는 [$check_i] 라는 배열의 내용
[$check_i]라는 배열안에는 배열이 존재하고 그 안의 숫자들을 중복없이 하나의 배열로 만들어 보자.
1. 위의 숫자들을 implode를 이용해서 하나의 문자열로 만들고
$imp_check = implode(",", $check_i);
2. 합친 문자열에서 다시 하나의 배열로 만든다.
$imp_check = explode(",",$imp_check);
3. array_unique를 이용해서 중복을 제거한다.
$imp_check = array_unique($imp_check);
4. array_unique를 이용하면 인덱스 값이 유지가 되어서, 엉망이 되므로 위의 implode. explode과정을 반복한다.
$imp_check = implode("|",$imp_check);
$imp_check = explode("|",$imp_check);
5. 아래의 내용으로 출력을 하면
echo "<pre>";var_dump($imp_check);echo "</pre>";
---------------------------------------------------------------------------------------
array(30) { [0]=> string(3) "217" [1]=> string(4) "1796" [2]=> string(4) "1804" [3]=> string(4) "1818" [4]=> string(4) "1828" [5]=> string(4) "6437" [6]=> string(5) "10487" [7]=> string(5) "10489" [8]=> string(5) "11161" [9]=> string(5) "11163" [10]=> string(5) "13350" [11]=> string(5) "13351" [12]=> string(5) "19763" [13]=> string(5) "20019" [14]=> string(5) "22110" [15]=> string(4) "6901" [16]=> string(4) "3957" [17]=> string(4) "9294" [18]=> string(4) "9311" [19]=> string(4) "9313" [20]=> string(4) "9315" [21]=> string(5) "30357" [22]=> string(4) "1333" [23]=> string(4) "1567" [24]=> string(4) "1688" [25]=> string(4) "1756" [26]=> string(4) "1800" [27]=> string(5) "21699" [28]=> string(5) "22603" [29]=> string(5) "22672" }
---------------------------------------------------------------------------------------
위와 같이 중복없는 배열을 만들 수 가 있다.