0

这是以下数组:

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 函数来解决第一步,但它似乎只适用于字符串..

万分感谢!

4

5 回答 5

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));
于 2012-09-24T08:48:45.380 回答
1

你应该看看使用这些:

in_array()
array_search()
于 2012-09-24T08:48:20.753 回答
0

您已经使用了 array_search 功能

$qkey=array_search(value,array);
于 2012-09-24T08:47:46.740 回答
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);

这将返回包含您的搜索值的所有索引的(可能为空)数组。

于 2012-09-24T08:47:53.790 回答
0

数组键()

  • 返回数组的所有键或键的子集

数组值()

  • 返回数组的所有值

array_key_exists()

  • 检查给定的键或索引是否存在于数组中

in_array()

  • 检查数组中是否存在值

你可以在这里找到更多信息http://www.php.net/manual/en/function.array-search.php

于 2012-09-24T09:11:02.210 回答