Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Обработка числе из массива [PHP]

14K
23 марта 2008 года
makis
29 / / 16.01.2007
Доброго времени суток.
Есть массив вида:
 
Код:
$chisla = array("23", "12", "45", "1", "87", "57", "42", "3", "81", "2", "22", "19");

Пользователь вводит число и скрипт должен подобрать наиболее близкое значение из массива, но в сторону увеличения.
Например, пользователь ввёл число 3. Скрипт должен в таком случае выдать число 12.
Если же пользователь ввёл число, которое больше, чем самое великое значение из массива, то скрипт должен выдать наименьшее число из него.
Например, пользователь ввёл 123, скрипт должен выдать 1.
Помогите пожалуйста это реализовать на PHP. Может быть есть какая-то уже готовая функция? Спасибо за внимание.
6.3K
23 марта 2008 года
Neutral
76 / / 13.12.2005
Ну, это можно сделать например так:
Код:
<?php
function getx( $c, $chisla )
{
    $min = $chisla[0];
    $razn = 1000000000;
    $tc = -1;
   
    for ($i=0, isset($chisla[$i]); $i++)
    {
        if ( $min > $chisla[$i] ) $min = $chisla[$i];
        if ( ($chisla[$i] >= $c) && ($ranz > $chisla[$i]-$c ) )
        {
            $razn = $chisla[$i]-$c;
            $tc = $chisla[$i];
        }
    }
   
    if ( $tc = -1 ) return $min; else return $tc;
}
?>
244
23 марта 2008 года
UAS
2.0K / / 19.07.2006
Код:
function getInt($inputInt=-1) {
$chisla = array(23,12,45,1,87,57,42,3,81,2,22,19);
sort($chisla);
reset($chisla);

if($inputInt > $chisla[count($chisla)-1] || $inputInt < $chisla[0]) return $chisla[0];

for($i=0;$i<count($chisla);$i++) {
    if($chisla[$i] == $inputInt) return $chisla[$i];
    if(!isset($chisla[$i+1])) return $chisla[0];
    if($inputInt > $chisla[$i] && $inputInt < $chisla[$i+1]) return $chisla[$i+1];
}
}

Вот.. Код не проверял. Но логику показал. Работать должно.

ЗЫ: тема для студентов ниже
14K
24 марта 2008 года
makis
29 / / 16.01.2007
Neutral, UAS спасибо огромное за ответы. Разобрался. Всё работает :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог