[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как найти в массиве чисел в возрастающей последова
Brajt
как узнать, какое следующее число после заданного в массиве чисел в возрастающей последовательности? к примеру есть массив $a(1, 2, 3, 5, 7, 12), числа в нем не повторяются и могут быть любыми. есть число 3, следующее число 5 - вот как его найти?
Игорь_Vasinsky
Просто перебераешь массив пока элемент массива не окажется больше чем твоё число, потом тормозишь

$arr = array(1, 2, 3, 5, 7, 12);

$digit = 3;

foreach($arr as $digits)
{
if($digits > $digit)
{
echo $digits;
break;
}
}


или do->while

, оно может оказаться и до самого числа, если хочешь проверять только вперёд - то тебе осталсь тока малость подумать.

1. вычеслить ключ элемента - числа
2. начать проверяить именно с этого элемента, при условии что массив индексный.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Brajt
чудненько, спасибо) работает) еще один вопрос созрел, как узнать какое заданное число по счету в массиве с возрастающей последовательностью?
Игорь_Vasinsky
Цитата
как узнать какое заданное число по счету в массиве с возрастающей последовательностью?


всмысле? ключ элемента в котором это число?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
$arr = array(1, 2, 3, 5, 7, 12);

$digit = 3;

foreach($arr as $key=>$digits)
{
if($digits == $digit)
{
echo $key;
}
}


тока все элементы должны быть уникальны, а то ключей будет - пачка.

И по умолчанию индексный массив пишет ключи с 0, так что если ключ = 2, то это 3й по счёту элемент ;)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Brajt
спасибо, вопросов больше нет. к ключу дообавил +1))
linker
$arr = array(1, 2, 3, 5, 7, 12);
list($nextvalue) = array_slice($arr, array_search(3, $arr) + 1, 1);
echo $nextvalue;


_____________
Gear Framework
Gear Framework на Github
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.