Intereting Posts
Определить свойство zerofill и размер при миграции схемы поля с помощью laravel PHP7 method_exists Неисправность Ошибка: имя функции должно быть строкой завиток нет ответа эхо-печать Как получить длину самой длинной строки в массиве 5 .htaccess Переопределяет: принудительно HTTPS, удаляет index.php, удаляет .php, Force www, принудительное сглаживание слэша как показать ошибки на стороне клиента cURL Войти на сайт HTTPS Строка соответствия с последней частью PHP-скрипт для обработки дерева каталогов / файлов и дерева вывода в виде вложенных UL Регулярное выражение, как сделать регулярное выражение вторым / ** в качестве отправной точки Symfony2 – Как использовать __construct () в контроллере и получить доступ к Securty.Context? автоматически создать кнопку покупки сейчас paypal? API Google PageSpeed ​​Insights не работает найти max () определенного значения многомерного массива в php PHP-массив: count или sizeof?

Поиск ключа минимального значения в ассоциативном массиве

В PHP, скажем, что у вас есть ассоциативный массив:

$pets = array( "cats" => 1, "dogs" => 2, "fish" => 3 ); 

Как мне найти ключ с самым низким значением? Здесь я буду искать cats .

Есть ли какие-то встроенные функции PHP, которые я пропустил, что это делает? Было бы также здорово, если бы было решение, в котором было указано несколько значений, как показано ниже:

 $pets = array( "cats" => 1, "dogs" => 1, "fish" => 2 ); 

Выше, я бы не прочь, если бы он просто вышел; cats или dogs .

Заранее спасибо.

array_keys – ваш друг:

 $pets = array( "cats" => 1, "dogs" => 2, "fish" => 3 ); array_keys($pets, min($pets)); # array('cats') 

PS : здесь есть дубликат где-то на SO (у него был max вместо min , но я могу отчетливо его запомнить).

Вот как я это сделал.

 $pets = array( "cats" => 1, "dogs" => 2, "fish" => 3 ); array_search(min($pets), $pets); 

Надеюсь, это поможет

Можете попробовать посмотреть на них:

  • natcasesort (массив)
  • natsort (массив)
 $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); 

Тогда первый ключ является минимальным, а его значение является ключом в исходном массиве.

найти наивысшую ценность

 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