以下是以下数组:
Array
(
[1] => Array
(
[0] => 10
[1] => 13
)
[2] => Array
(
[0] => 8
[1] => 22
)
[3] => Array
(
[0] => 17
[1] => 14
)
)
然后我
$chosenNumber = 17
我需要知道的是:
首先)如果17在数组中
第二个)它拥有的密钥(在本例中为[0])
第三)它所属的索引(在这种情况下为[3])
我打算使用in_array函数来解决第一步,但它似乎只适用于字符串..
非常感谢!
答案 0 :(得分:3)
function arraySearch($array, $searchFor) {
foreach($array as $key => $value) {
foreach($value as $key1 => $value1) {
if($value1 == $searchFor) {
return array("index" => $key, "key" => $key1);
}
}
}
return false;
}
print_r(arraySearch($your_array, 17));
答案 1 :(得分:1)
你应该看看这些:
in_array()
array_search()
答案 2 :(得分:0)
您已使用array_search函数
$qkey=array_search(value,array);
答案 3 :(得分:0)
您使用array_search:
$index = array_search($chosenNumber, $myArray);
if($index){
$element = $myArray[$index];
}else{
// element not found
}
如果找不到元素,array_search将返回false,否则为您要查找的元素的索引。
如果值在数组中多次,则只返回第一个匹配项的键。如果您需要所有匹配项,则需要使用array_keys并指定可选的search_value参数:
$indexes = array_keys($myArray, $chosenNumber);
这将返回包含搜索值的所有索引的(可能为空)数组。
答案 4 :(得分:0)
array_keys()
array_values()
array_key_exists()
in_array()