2014-02-18 6 views
0

두 개의 배열을 가지고 있으며 arrayOne의 arrayTwos 값 중 ​​첫 번째 일치 항목을 찾고 싶습니다.PHP는 2 개의 배열에서 첫 번째로 일치하는 값을 찾습니다.

arrayOne ([0] = C [1] = A [2] = B [3] = D [4] = B [5] = C) 

나는 그것을 arrayOne에 표시 할 arrayTwo의 첫 번째 값이 같은 값이 "C"를 반환 할 것이다이 값으로

arrayTwo ([0] = A [1] = B [2] = C) 

.

내가 루프와 if 문을 사용할 수 있다고 생각하지만 PHP를 통해 모든 기능을 실행할 수 있지만이 기능을 단순화하는 데 사용할 수 있습니까?

+0

http://www.php.net /manual/ko/ref.array.php - 귀하 대답은 여기 기다려야 할 것 같습니다. :) – dsimer

답변

2

사용 array_search

$keys = array_search($second_array, $first_array); 

참조 : http://in3.php.net/array_search

+0

이렇게하면 첫 번째 발견 된 값만 반환됩니까? 완전한. 많은 감사 – jack

0

사용 array_intersect. 이것은 일을 할 것입니다. 당신이 사용할 수있는

1

array_search

$valuekeys = array_search($secondarray, $arrayone); 
0

array_intersect($array1, $array2)array_intersect($array2, $array1)를 사용 사이의 차이를 참고 http://www.php.net/manual/en/function.array-intersect.phparray_intersect() :

$arr1 = array(0 => 'C', 1 => 'A', 2 => 'B', 3 => 'D', 4 => 'B', 5 => 'C'); 
$arr2 = array(0 => 'A', 1 => 'B', '2' => 'C'); 
$arr3 = array_intersect($arr1,$arr2); 
var_dump($arr3[0]); 
string(1) "C" 
1

사용 array_intersect

$arrayOne = array('C', 'A', 'B', 'D', 'B', 'C'); 
$arrayTwo = array('A', 'C'); 
$result = array_intersect($arrayOne , $arrayTwo); 
echo $result[0]; 
관련 문제