我使用用户输入到表单中,然后它将搜索该数组,看看他们的输入是否在数组中。因此,如果用户搜索"45",我需要在数组中找到相应的值。
因此,如果$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"
)
);
$search = '45';
$key = array_search($search, $myArray['Aames']);
$name = $myArray['Names'][$key];
$speciality = $myArray['Speciality'][$key];
echo $name; //Outputs John
echo $speciality; //Outputs Business
如果您计划更普遍地应用它,您可以用一个函数对此进行一点概括。
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')
[sic]