Поиск значения в массиве объекта в PHP

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

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

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

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

)

У нас есть такой массив, я хочу найти определенное значение, например HOSP2, каков процесс получения значения по индексу.

4 ответа

Просто попробуйте с array_search

$key = array_search(array('ADADCD' => 'HOSP1'), $inputArray);

Цикл по массиву и возвращает индекс, по которому вы найдете искомое значение.

$searchIndex = -1;
foreach ( $yourArray as $k => $v ) {
  if ( $v['ADADCD'] == 'search value' ) {
    $searchIndex = $k;
    break;
  }
}

Вы можете использовать комбинацию 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

<?php
$array = your array;
$key = array_search('HOSP2', $array);
echo $key;
?>

Выход: ADADCD

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

Другие вопросы по тегам