Нахождение ключа минимального значения в ассоциативном массиве
44106 просмотра
5 ответа
В PHP скажем, что у вас есть ассоциативный массив, подобный этому:
$pets = array(
"cats" => 1,
"dogs" => 2,
"fish" => 3
);
Как мне найти ключ с наименьшим значением? Здесь я бы искал cats
.
Есть ли какая-то встроенная функция PHP, которую я пропустил, которая делает это? Было бы также неплохо, если бы существовало решение, в котором несколько идентичных значений были бы одинаковыми, как показано ниже:
$pets = array(
"cats" => 1,
"dogs" => 1,
"fish" => 2
);
Выше я бы не возражал, если бы он просто выводил тоже; cats
или dogs
.
Заранее спасибо.
Автор: Philip Morton Источник Размещён: 12.11.2019 09:46Ответы (5)
92 плюса
array_keys
твой друг:
$pets = array(
"cats" => 1,
"dogs" => 2,
"fish" => 3
);
array_keys($pets, min($pets)); # array('cats')
PS : где-то на SO есть дуплекс ( max
вместо него min
, но я его отчетливо помню).
10 плюса
Вот как я это сделал.
$pets = array(
"cats" => 1,
"dogs" => 2,
"fish" => 3
);
array_search(min($pets), $pets);
Надеюсь, это поможет
Автор: lexx Размещён: 29.05.2012 01:012 плюса
2 плюса
$min_val = null;
$min_key = null;
foreach($pets as $pet => $val) {
if ($val < $min_val) {
$min_val = $min;
$min_key = $key;
}
}
Вы также можете перевернуть массив и отсортировать его по ключу:
$flipped = array_flip($pets);
ksort($flipped);
Тогда первый ключ - это минимум, а его значение - это ключ в исходном массиве.
Автор: Jeff Ober Размещён: 19.10.2009 12:20-2 плюса
найти самое высокое значение
print max(120, 7, 8, 50);
возвращает -> 120
$array = array(100, 7, 8, 50, 155, 78);
print max($array);
возвращает -> 155
найти самое низкое значение
print min(120, 7, 8, 50);
возвращает -> 7
$array = array(50, 7, 8, 101, 5, 78);
print min($array);
возвращает -> 5
Автор: Rohit Suthar Mumbai Размещён: 21.12.2011 12:42Вопросы из категории :
- php Как вы отлаживаете PHP-скрипты?
- php Заставьте XAMPP / Apache обслуживать файл вне htdocs
- php Как включить файлы PHP, которые требуют абсолютного пути?
- php Скрипт входа со скрытыми кнопками
- php How can I find unused functions in a PHP project
- php Эффективное изменение размера JPEG изображения в PHP
- php MySQL или PDO - каковы плюсы и минусы?
- php Как бы вы внедрили аутентификацию на основе FORM без резервной базы данных?
- php Самый простой способ профилировать скрипт PHP
- php Изображения в PHP
- associative-array В PHP, как вы меняете ключ элемента массива?
- associative-array Как удалить объекты из ассоциативного массива JavaScript?
- associative-array Динамическое создание ключей в ассоциативном массиве JavaScript
- associative-array Самый быстрый способ использовать ассоциативный массив с ключами
- associative-array Можно ли использовать строки в качестве индекса массива?
- associative-array Как отсортировать массив дат в PHP
- associative-array PHP - объединить два массива (одинаковой длины) в один ассоциативный?
- associative-array Нахождение ключа минимального значения в ассоциативном массиве
- associative-array Как перебрать ассоциативный массив и получить ключ?
- associative-array Несколько запросов MYSQL против нескольких циклов php foreach