Страница 1 из 1
[php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 13:12:52
Alex Keda
есть массив, типа
надо найти ключ наименьшего значения
т.е. в данном примере, мне нужна цифра 3
чё-то даже не соображу =(
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 13:51:37
Alex Keda
Код: Выделить всё
$b = max($array);
foreach ($array as $key => $value)
{
if($value < $b){
$id = $key;
$b = $value;
}
}
echo "\n" . $id . "\n";
такую вот кривизну пока нарисовал....
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 14:25:14
hizel
мдэ, а почему не min? что делать если наименьших значений несколько?
http://php.net/manual/ru/function.min.php см. комментарии
например этот:
http://www.php.net/manual/ru/function.min.php#100899
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 14:47:57
Alex Keda
min - вернёт значение
мне нужен - именно ключ
--
это из балансировки нагрузки по серверам - ключ - идентификатор сервера, значнеие - нагрузка....
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 15:08:46
hizel
Alex Keda писал(а):min - вернёт значение
мне нужен - именно ключ
мда, что-то тупишь ты основательно сейчас, я не сообщал о том, что min полностью решит твою проблему
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 15:51:00
hizel
и вообще зачем max\min
Код: Выделить всё
$b = $array[0];
foreach ($array as $key => $value)
{
if($value < $b){
$id = $key;
$b = $value;
}
}
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 16:57:45
Alex Keda
я не знаю ни одного элемента из массива.
поэтому
может оказаться пустым, или, приведя к числовому значению - ноль.
что автмоатически привдёт к неверному выбору
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 20:04:21
FreeBSP
Код: Выделить всё
<?php
if (isset($array) && count($array)) {
$k = array_search(min($array)); // ключ первого минимального
$ka = return array_keys($array, min($array)); // массив ключей с минимальными значениями
} else {
$k = false;
$ka = false;
}
if ($k === false) {
//массив не существует, или пуст
}
?>
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 20:09:54
rmn
отсортировать массив с учетом ключей (asort, вроде) и читать сервера с минимальной загрузкой по порядку с 0-вого
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 20:16:36
FreeBSP
вариант, но это будет уже не исходный массив так что ТЗ немного не соотествует
да и опять же проблема пустого массива
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-07 22:44:38
Alex Keda
пустого быть не может - это эксцепшеном строк на 50 раньше отрботает

)
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2011-10-08 0:23:34
PYO
Alex Keda писал(а):я не знаю ни одного элемента из массива.
поэтому
может оказаться пустым, или, приведя к числовому значению - ноль.
что автмоатически привдёт к неверному выбору
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2014-04-03 11:17:20
argen
Re: [php] сравнить значения в массиве, туплю
Добавлено: 2014-11-19 21:14:02
zg
Код: Выделить всё
$array = [
1 => 5.34,
2 => 7.43,
3 => 0.01
];
asort($array);
var_dump( key($array) ); // int(3)