Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Минимално и максимално число в PHP

Featured Replies

Здравейте,

за домашна имам да изкарам минималното и максималното число от даден масив, като НЕ МОГА да изпозвам функциите min и max а само с функцията foreach.

<?php

$numbers = array(376,23,56,34,56,234);
$min = PHP_INT_MAX;
$max = -PHP_INT_MAX;
foreach ($numbers as $number)
{
	if ($number > $max)
		$max = $number;
	if ($number < $min)
		$min = $number;
}

var_dump($min, $max);

?>

<?php

$numbers = array(376,23,56,34,56,234);
$min = PHP_INT_MAX;
$max = -PHP_INT_MAX;
foreach ($numbers as $number)
{
	if ($number > $max)
		$max = $number;
	if ($number < $min)
		$min = $number;
}

var_dump($min, $max);

?>

Кофти е да се ползват тия константи за инициализация... По-добре е да се инициализират с първия елемнт от масива.
  • Автор

Кофти е да се ползват тия константи за инициализация... По-добре е да се инициализират с първия елемнт от масива.

Какво имаш в предвид?

Какво имаш в предвид?

Ами, че е по-добре $min и $max да се инициализират с първия елемент на масива, вместо с някакви гранични константи. Особено пък в език, който не е много придирчив към типовете. И даденият код ще работи, но с това което предлагам, алгоритъмът ще може да работи и за сравняване на данни, за които не знаеш границите или работиш с потребителска функция за сравнение. Примерно ако горе решиш да минеш на числа с плаваща запетая, трябва да смениш и констаните, в моя вариант сменяш само данните.

Редактирано от flare (преглед на промените)

  • Автор

Ами, че е по-добре $min и $max да се инициализират с първия елемент на масива, вместо с някакви гранични константи. Особено пък в език, който не е много придирчив към типовете. И даденият код ще работи, но с това което предлагам, алгоритъмът ще може да работи и за сравняване на данни, за които не знаеш границите или работиш с потребителска функция за сравнение. Примерно ако горе решиш да минеш на числа с плаваща запетая, трябва да смениш и констаните, в моя вариант сменяш само данните.

<?php

$numbers = array(376,23,56,34,56,234);
$min =$numbers[0];
$max =$min*(-1);
foreach ($numbers as $number)
{
	if ($number > $max)
		$max = $number;
	if ($number < $min)
		$min = $number;
}

var_dump($min, $max);

?>

Така ли?

Редактирано от rado99 (преглед на промените)

...

Къде съм казал да умножаваш по -1?

-$min не е иденично с $min*(-1)

Аз казах че в началото на цикъла двете променливи $min и $max трябва да са равни на първия елемент. Нe $max да е равно на $min с обратен знак. Така както си го направил е направо грешно.

Редактирано от flare (преглед на промените)

...

Лаконично, но недопустимо.

profruit.jpg

и според условието, но по-засукано.

Screenshot.png

успех

  • Автор

Много благодаря за всички отзовали се... Оправих се с условието благодарение на уточненията от @flare и отчасти кода на gothicrock, за което много ви благодаря! :)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.