PHP пока цикл через массив - PullRequest
       11

PHP пока цикл через массив

1 голос
/ 19 августа 2011

Я пытаюсь перебрать подмассив (который является частью многомерного массива) и проверить, есть ли пара ключ / значение.Если пара найдена, я хочу вернуть ключ подмассива, в котором она была найдена.

К сожалению, похоже, функция key () не работает с foreach .

Как бы я изменил этот код для использования в то время как цикл?

Если у вас есть лучшее предложение, дайте мне знать.

foreach ($subarray as $subkey => $subvalue) {           
    if ($subkey == 'key_value' AND $subvalue = 'value') {
        return key($subarray);
    }
}

Ключи массива не являются числовыми.Вот пример:

$array['books'] = array('quantity' => 10, 'title' => 'Something')
$array['dvds'] = array('quantity' => 30, 'title' => 'Something else')

При поиске «заголовка», называемого «что-то», функция должна возвращать «книги», потому что это ключ, в котором находится пара субключ / значение.

Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 19 августа 2011
$array['books'] = array('quantity' => 10, 'title' => 'Something');
$array['dvds'] = array('quantity' => 30, 'title' => 'Something else');

foreach($array as $key => $value) {
  if ($value['title'] === 'Something') {
    return $key;
  }
}
...