2013-07-05 2 views
0

각 배열에 그림의 메타 정보가 쉼표로 구분되어 있습니다.
A,B,C의 경우 A은 그림의 ID를 나타내며 B 그림의 순서는 C입니다.배열 분할 및 고유 배열 ID 가져 오기

Array ([0] => 657,1,1 
     [1] => 658,2,1 
     [2] => 659,3,1 
     [3] => 660,4,1 
     [4] => 661,5,1 
     [5] => 662,6,1 
     [6] => 663,7,1 
     [7] => 875,15,3 
     [8] => 877,17,3 
     [9] => 874,14,3 
     [10] => 869,9,2 
     [11] => 872,12,2 
     [12] => 959,13,2) 

모든 배열 값에서 고유 한 색상 목록을 가져 오려고합니다. 그러한 예에서는 배열에 3 가지 색상이있는 경우

echo element[0]; result = 1 
echo element[1]; result = 2 
echo element[2]; result = 3 <- edited 

등이됩니다.

도와 주실 수 있습니까? 이 배열은 정말 어렵습니다.

+0

어떤 언어입니까? PHP와 비슷하지만 변수 앞에'$'가 없습니다. – Barmar

+0

질문을 명확히 할 수 있습니까? 왜 세 번째 결과는'element [2] '가 아닌'element [3]'입니까? – Barmar

+0

바머, 해냈어. 네, PHP가 – jam

답변

0

...

$colors = array(); 
$list = Array (0 => '657,1,1', 1 => '658,2,1', 2 => '659,3,1', 3 => '660,4,1', 4 => '661,5,1', 5 => '662,6,1', 6 => '663,7,1', 7 => '875,15,3', 8 => '877,17,3', 9 => '874,14,3', 10 => '869,9,2', 11 => '872,12,2', 12 => '959,13,2'); 
foreach ($list as $k=>$v){ 
    list($id, $order, $color) = explode(',',$v); 
    $colors[] = $color; 
} 
$colors = array_unique($colors); 
sort($colors); 

... 배열이 $colors을 만들 것입니다 ...

Array ([0] => 1 [1] => 2 [2] => 3) 

... 경우 1, 2,3 색을 찾을 수 있습니다 $list

+0

입니다. Noekio, 색상이 아닌 고유 한 것이 더 필요합니다. – jam

+0

나는보고 ... 코드를 업데이 트 – neokio

+0

고마워, Neokio. 이것은 멋지게 잘되었습니다. – jam

0

이와 비슷한 작업을 원하십니까?

난 당신이 정확하게 원하는 것을 이해한다면
$array = array ('657,1,1', '658,2,1', '659,3,1'); 
function getColor($a) { 
    $a = explode(',', $a); 
    return $a[2]; 
} 
echo getColor($array[0]); 
1

나는 이것이 당신이 원하는 것 같아요 :

$element = array_values(array_unique(array_map(function($x) { 
    $meta = explode(',', $x); 
    return $meta[2]; 
}, $input))); 
sort($element); 
+0

젠장, 그 코드는 빡빡합니다! – neokio

+0

이것은 훌륭하지만 이상한 키를 가지고있다. 'Array ([0] => 1 [7] => 3 [10] => 2)' – jam

+0

0에서 번호를 다시 매기려면'array_values ​​()'에 대한 호출을 추가했다. – Barmar