PHP минимальное значение позиции целочисленного массива в качестве результирующего массива - PullRequest
0 голосов
/ 12 января 2019

Я хотел бы знать, как получить минимальное значение массива в PHP, но вместо того, чтобы просто возвращать первое найденное минимальное значение, все минимальные значения должны быть возвращены в результате.

Например, если у нас есть массив со следующим содержимым:

[1,2,4,7,5,1,1,3,2]

Тогда результат должен вывести позиции минимального значения (1) в массиве:

[0,5,6]

Ответы [ 2 ]

0 голосов
/ 12 января 2019

При использовании array_keys , если указано search_value (второй параметр), возвращаются только ключи для этого значения.

Идеально подходит для этого использования.

Принимая во внимание, что array_search вернет только один ключ для соответствующего значения / иглы.

<?php

$items  = [1,2,4,7,5,1,1,3,2];
$min     = min($items);
$min_keys = array_keys($items, $min);

print_r($min_keys);

Выход:

Array
(
    [0] => 0
    [1] => 5
    [2] => 6
)
0 голосов
/ 12 января 2019

Здесь:

<?php 

$array = [1,2,4,7,5,1,1,3,2];
$minNumber = min($array);
$result = [];

foreach ($array as $k => $v) {
  if ($v == $minNumber) {
     $result[] = $k;
    }
}

var_dump($result);

Выход:

[0,5,6]
...