Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中查找数组中的索引位置_Php_Arrays - Fatal编程技术网

如何在php中查找数组中的索引位置

如何在php中查找数组中的索引位置,php,arrays,Php,Arrays,我有一个这样的数组 Array ( [33] => [53] => [82] => [36] => [47] => [42] => [1] => [12] => [86] => [68] => [31] => 1.00 [2] => 1.00 [87] => 2.00 [50] => 3.00 [10] => 3.00 [55] => 3.00 [48] => 3.00 [7

我有一个这样的数组

Array
(
[33] => 
[53] => 
[82] => 
[36] => 
[47] => 
[42] => 
[1] => 
[12] => 
[86] => 
[68] => 
[31] => 1.00
[2] => 1.00
[87] => 2.00
[50] => 3.00
[10] => 3.00
[55] => 3.00
[48] => 3.00
[70] => 3.00
[90] => 3.00
[37] => 3.00
[69] => 3.00
[8] => 3.00
[49] => 3.00
[26] => 3.00
[13] => 3.00
[61] => 3.00
[59] => 3.00
[73] => 4.00
[64] => 4.00
[77] => 4.00
[78] => 4.00
[65] => 4.00
[66] => 4.00
[63] => 4.00
[76] => 4.00
[51] => 4.00
[52] => 4.00
[43] => 4.00
[58] => 4.00
[60] => 4.00
[74] => 4.00
[67] => 4.00
[35] => 4.00
[17] => 4.00
[16] => 4.00
[18] => 4.00
[20] => 4.00
[41] => 4.00
[15] => 4.00
[11] => 4.00
[4] => 4.00
[5] => 4.00
[6] => 4.00
[7] => 4.00
[83] => 4.00
[22] => 4.00
[34] => 4.00
[38] => 4.00
[40] => 4.00
[25] => 4.00
[32] => 4.00
[80] => 4.00
[81] => 4.00
[27] => 4.00
[30] => 4.00
[79] => 5.00
[89] => 5.00
[88] => 5.00
[72] => 5.00
[71] => 5.00
[44] => 5.00
[21] => 5.00
[23] => 5.00
[24] => 5.00
[19] => 5.00
[14] => 5.00
[3] => 5.00
[9] => 5.00
[28] => 5.00
[29] => 5.00
[56] => 5.00
[57] => 5.00
[54] => 5.00
[46] => 5.00
[39] => 5.00
[45] => 5.00
[62] => 5.00
)
现在我要找到的是特定索引的位置。i、 e如果搜索
53
,则返回其位置,即
2
。我正在考虑第二个位置的
53

您可以使用

$a = array_keys($array)
要获取其值为$array=>键的数组

之后你可以使用

$a = array_flip($a);
要生成数组值,请使用数组的索引(根据需要定位!

然后

希望能有帮助


注意:如果您经常访问$a,请使用我的方式,因为它构建了数组,之后您将有O(1)个访问时间,如果您需要它进行一次或两次访问,最好使用
array\u search
从带有O(n)的
array\u键的数组中获取索引。

使用array\u键获取键()然后尝试使用array_search()获取它的索引

$keys = array_keys($yourArray);
$key = array_search('53', $keys);

没有测试它,但应该可以工作。

通过array_keys()函数获取所有数组键,然后提取所需的键值。
请参见

它不会返回
1
吗,因为数组是
0
索引的?在
2
53
之间没有任何关联:?
$i++
应该在
之后,如果
将返回+1@MihaiIorga是的,OP一开始想要2(他说这是一个打字错误)。
$keys = array_keys($yourArray);
$key = array_search('53', $keys);
function findIndex($arr, $needle) {
    $i = 0;
    foreach ($arr as $key => $value) {
      if ($key === $needle) {
         return $i;
      }
      $i++;
    }
    return false;
}