我正在将用户用户输入用于表单,然后它将搜索此数组以查看它们的输入是否在数组中。因此,如果用户搜索“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"
)
);
答案 0 :(得分: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
答案 1 :(得分: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')
[原文如此]