Для получения ключа 1-го уровня по значению из массива 2-го уровня в PHP нам понадобится использовать циклы и условия.
Допустим, у нас есть следующий массив 2-го уровня:
$array = [ 'key1' => ['value1', 'value2'], 'key2' => ['value3', 'value4'], 'key3' => ['value5', 'value6'] ];
Мы хотим найти ключ 1-го уровня, содержащий значение 'value2'. Для этого мы можем использовать цикл foreach
для перебора ключей 1-го уровня, а затем цикл foreach
с условием для проверки каждого значения 2-го уровня:
$desiredValue = 'value2'; $foundKey = null; foreach ($array as $key1 => $values) { foreach ($values as $value) { if ($value == $desiredValue) { $foundKey = $key1; break 2; // позволяет выйти из обоих циклов } } } if ($foundKey !== null) { echo "Найдено соответствие в ключе: $foundKey"; } else { echo "Соответствие не найдено"; }
В данном примере мы используем переменную $desiredValue
, чтобы указать значение, которое мы ищем. Если такое значение найдено, мы присваиваем ключ 1-го уровня переменной $foundKey
и прерываем оба цикла с помощью оператора break 2
. В конце мы проверяем переменную $foundKey
и выводим соответствующее сообщение.
При выполнении кода выше, результат будет следующим:
Найдено соответствие в ключе: key1
Если в массиве 2-го уровня нет значения 'value2', вывод будет:
Соответствие не найдено
Таким образом, с использованием циклов и условий, мы можем получить ключ 1-го уровня по значению из массива 2-го уровня в PHP.