2011-06-14 7 views
0

사용자 사용자 입력을 양식에 사용하고 있는데이 배열을 통해 입력이 배열 안에 있는지 확인합니다. 따라서 사용자가 '45'를 검색하면 해당 값을 배열에서 찾아야합니다.PHP : 다차원 배열의 요소 번호 찾기 및 해당 값 저장

$ myArray [ 'Aames'] [o]가 45면 $ myArray [ 'Names'] [0] 등을 찾아야합니다. 그래서 '45'의 요소 번호를 찾고 그 번호를 저장 한 다음 해당 정보를 인쇄하는 방법이 필요합니다. 더 일반적으로 적용하려는 경우

$myArray = array 
       ( 
       "Names"=>array 
       (
       "John", 
       "Jane", 
       "Rick" 
       ), 
       "Speciality"=>array 
       (
       "Buisness", 
       "sales", 
       "marketing" 
       ), 
       "Aames"=>array 
       (
       "45", 
       "Some guy", 
       "Another guy" 
       ) 
       ); 
+0

을 수 그리고 그들은 "존"을 검색 할 때, 당신은 또한 "비즈니스"를 반환하고자한다 "45"? – sjobe

+0

'$ myArray'를 반복하고 각'$ element'에 대해'in_array'를 검사하고 발견되면 무언가를하십시오. 어떤 코드를 작성 했습니까? – Matthew

답변

1
$search = '45'; 

$key = array_search($search, $myArray['Aames']); 

$name = $myArray['Names'][$key]; 

$speciality = $myArray['Speciality'][$key]; 

echo $name; //Outputs John 

echo $speciality; //Outputs Business 
0

당신은 함수와 이것을 조금 일반화 할 수있다.

function searchArray($query, $keyArray, $valuesArray){ 

    $key = array_search($query, $keyArray); 

    $returnArray = array(); 
    foreach($valuesArray as $arrKey=>$arrVal){ 
     $returnArray[$arrKey] = $arrVal[$key]; 
    } 

    return $returnArray; 
} 

$query

$keyArray$valuesArray는 잠재적 인 쿼리 문자열과 관련된 값을 포함하는 배열의 배열에서 찾고있는 값을 포함하는 문자열입니다.

예 : $userAttributes = searchArray('45', $myArray['Aames'], array('Names'=>$myArray['Names'], 'Speciality'=>$myArray['Speciality']));

$userAttributes 다음 array('Names'=>'John', 'Speciality'=>'Buisness') [원문]

관련 문제