Получить ключ массива, переданный по значению PHP - PullRequest
0 голосов
/ 06 июня 2010

У меня есть следующий массив

$group= array(
    [0] => 'apple',
    [1] => 'orange',
    [2] => 'gorilla'
);

Я запускаю группу массивов для каждой функции, и когда цикл достигает значений гориллы, я хочу, чтобы он выплевывал индекс гориллы

foreach ($group as $key) {

    if ($key == gorilla){
        echo   //<------ the index of gorilla
    }

}

Ответы [ 5 ]

3 голосов
/ 06 июня 2010

Вы можете использовать функцию array_search, чтобы получить ключ для указанного значения:

$key = array_search('gorilla', $group);
3 голосов
/ 06 июня 2010
foreach( $group as $index => $value) {

if ($value == "gorilla")
 {
  echo "The index is: $index";
 }

}
2 голосов
/ 06 июня 2010

array_search - Выполняет поиск в массиве заданного значения и возвращает соответствующий ключ в случае успеха

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>
1 голос
/ 06 июня 2010
foreach($group as $key => $value) {
    if ($value=='gorilla') {
        echo $key;
    }
}

Синтаксис foreach($c as $k => $v) аналогичен синтаксису foreach($c as $v), но он помещает соответствующие ключи / индексы в $k (или любую переменную, размещенную там) для каждого значения $v в коллекции.

Однако, если вы просто ищете индекс одного значения, array_search() может быть проще. Если вы ищете индексы для многих значений, придерживайтесь foreach.

0 голосов
/ 06 июня 2010

Попробуйте это:

foreach ($group as $key => $value)
{
    echo "$key points to $value";
}

foreach документация на php.net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...