Для поиска ключа 1-го уровня в массиве 2-го уровня по значению элемента можно использовать функцию array_search. Пример:
```php
$searchValue = "значение элемента"; // значение элемента, для которого нужно найти ключ 1-го уровня
$key = null; // переменная для сохранения найденного ключа
foreach ($arr as $key1 => $level1Array) {
$key2 = array_search($searchValue, $level1Array);
if ($key2 !== false) {
$key = $key1;
break;
}
}
if ($key !== null) {
echo "Ключ 1-го уровня для значения $searchValue: $key";
} else {
echo "Значение $searchValue не найдено";
}
```
Для определения, является ли человек учеником или учителем, на основе его фамилии в двухуровневом массиве $arr, можно использовать аналогичный подход:
```php
$surname = "фамилия"; // фамилия, для которой нужно определить роль
$role = null; // переменная для сохранения найденной роли (ученик/учитель)
foreach ($arr as $key1 => $level1Array) {
if (in_array($surname, $level1Array)) {
$role = $key1;
break;
}
}
if ($role !== null) {
echo "Человек с фамилией $surname является $role";
} else {
echo "Фамилия $surname не найдена";
}
```
В обоих примерах предполагается, что массив $arr имеет следующую структуру:
```php
$arr = [
"учитель" => ["фамилия1", "фамилия2"],
"ученик" => ["фамилия3", "фамилия4"]
];
```
Где "учитель" и "ученик" - ключи 1-го уровня, а "фамилия1", "фамилия2", "фамилия3", "фамилия4" - значения элементов 2-го уровня.