2016-08-06 2 views
0

두 번째 배열이 있고 두 번째 배열에 rsort 첫 번째 배열을 적용하는 응용 프로그램을 빌드하려고합니다. 즉, 내가 array_2에 배열 _1 검색하여 새로운 배열을 생성하고 키 값을 반환하려는다른 배열에서 하나의 배열을 검색하여 키 값 배열을 생성하십시오.

$array_1 = array('20','30','30','20'); 
$array_2 = array('30','30','20','20'); 

,

$key_array = array('2','0','1','3'); 

나는

$array_1 = array('20','30','30','20'); 
$array_2 = $array_1; 

rsort($array_2); 
$first_keys = array(); 
foreach($array_1 as $key=>$arr1){ 
    $first_keys[] = array_search($arr1, $array_2); 
} 
echo "<pre>"; 
print_r($first_keys); 

같은 시도하지만이 2,0,0을 받고 , 2

또한 현재 키를 'xx'로 바꾸려고했습니다.하지만 배열 참조를 유지하면서 또한, 당신은 각 검색에 값 배열 2 $에서 제거해야

foreach($array_1 as $key=>$arr1){ 
    $array_1[$key] = 'xx'; 
    $first_keys[] = array_search($arr1, $array_2); 
} 
+0

(작동)이 무엇인지에 기초하여 출력을 얻는

설정 해제? 나는 혼란 스럽다. – jonju

답변

2

2,0,0,2 인쇄. 이것은 (여기 테스트 할 수 없습니다) 작동합니다 :

$array_1 = array('20','30','30','20'); 
$array_2 = $array_1; 

rsort($array_2); 
$first_keys = array(); 
foreach($array_1 as $key=>$arr1){ 
    $key= array_search($arr1, $array_2); 
    $first_keys[] = $key; 
    $array_2[$key]=""; 
} 
echo "<pre>"; 
print_r($first_keys); 
+0

Thnks ... 알아 낸다. –

1

당신은 두 번째 배열에서 키를 검색 제거해야합니다. 제 2 어레이로부터의 키.

$array_1 = array('20','30','30','20'); 

$array_2 = $array_1; 

rsort($array_2); 

$first_keys = array(); 
foreach($array_1 as $key=>$arr1){ 
    $searchKey = array_search($arr1, $array_2); 
    $first_keys[] = $searchKey; 
    unset($array_2[$searchKey]); 

} 
echo "<pre>"; 
print_r($first_keys); 
관련 문제