1
Array
(
    [0] => Array
        (
            [ADADCD] =>       
        )
    [1] => Array
        (
            [ADADCD] => ?     
        )

    [2] => Array
        (
            [ADADCD] => HOSP1 
        )

    [3] => Array
        (
            [ADADCD] => HOSP2 
        )

    [4] => Array
        (
            [ADADCD] => H1    
        )

)

我们有一个这样的数组,我想搜索一个特定的值,比如HOSP2,获取索引值的过程是什么。

4

4 回答 4

3

试试看array_search

$key = array_search(array('ADADCD' => 'HOSP1'), $inputArray);
于 2013-01-30T08:35:31.337 回答
3

遍历数组并返回找到所需值的索引。

$searchIndex = -1;
foreach ( $yourArray as $k => $v ) {
  if ( $v['ADADCD'] == 'search value' ) {
    $searchIndex = $k;
    break;
  }
}
于 2013-01-30T08:35:47.680 回答
0

您可以使用foreach()和的组合in_array()

因此,首先使用 . 遍历数组的所有索引foreach()

foreach ($array as $key => $subarray)
   if (in_array($string, $subarray))
       return $key;

所以,现在对于这样的数组:

Array
(
    [0] => Array
        (
            [ADADCD] =>       
        )
    [1] => Array
        (
            [ADADCD] => ?     
        )

    [2] => Array
        (
            [ADADCD] => HOSP1 
        )

    [3] => Array
        (
            [ADADCD] => HOSP2 
        )

    [4] => Array
        (
            [ADADCD] => H1    
        )
)

输出

2

小提琴: http: //phpfiddle.org/main/code/t6b-g9r

于 2013-01-30T08:36:09.643 回答
-2
<?php
$array = your array;
$key = array_search('HOSP2', $array);
echo $key;
?>

输出: ADADCD

http://php.net/manual/en/function.array-search.php

于 2013-01-30T08:35:01.257 回答