По лесна проверка

sentenello

Registered
Здравейте
Искам да попитам дали има по-лесен/правилен начин да проверя дали дадена променлива е по-голяма от 5 други. В момента го правя по този начин.
Код:
if (($dropa12 > $dropa11) AND ($dropa12 > $dropa1x) AND ($dropa12 > $dropa21) AND ($dropa12 > $dropa22)
AND ($dropa12 > $dropa2x) AND ($dropa12 > $dropax1) AND ($dropa12 > $dropax2) AND ($dropa12 > $dropaxx))
{

Така проверявам дали $dropa12 е по-голям от всички други и ако е по-голям, полето в което се намира се оцветява в бяло а другите остават в сиво.

П.С. Знам че не е въобще правилно да го правя така, затова и питам :D
 
PHP:
<?php
// $arr = array($dropa11,$dropa1x,$dropa21,$dropa22,$dropa2x,$dropax1,$dropax2,$dropaxx);
$arr = array(5,6,8,7,9);
sort($arr);
print_r($arr);
if(10 > end($arr)){
	echo "По-голям";
}
else{
	echo "Не";
}?>

Просто го преправи по твоят начин. Става дума че сортираш масива и вадиш последният най-високият резултат и го сравняваш :)
 
PHP:
<?php
$arr = array($dropa11,$dropa1x,$dropa21,$dropa22,$dropa2x,$dropax1,$dropax2,$dropaxx);
if($dropa12 > max($arr)){
	echo "По-голям";
}
else{
	echo "Не";
}?>
 
Задал съм
Код:
if($dropax1 > max($arr)){
 $color11 = 'background-color:none';
$color12 = 'background-color:none';

Обаче има проблем когато дропах1 не е по-голям от всичките, и има равенство с поне един от тях. Има ли вариант ако е равен на някой, двата да стават в един цвят а другите да си остават в дефолтнатия примерно.
 
sentenello каза:
Задал съм
Код:
if($dropax1 > max($arr)){
 $color11 = 'background-color:none';
$color12 = 'background-color:none';

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

Код:
Drop rate:   1/X   1/2   1/1   2/2
%                  20    15     10     20

Представи си че информацията по-горе е в таблица и по принцип ако 1/X е по-голямо от другите, ще направи неговото <td> с някакъв цвят, но в случая най-голямото число се повтаря и затова искам да направя и двете <td> в този цвят. В случая това трябва да са 1/Х и 2/2
 
sentenello каза:
Имам изход ето това

Код:
Drop rate:   1/X   1/2   1/1   2/2
%                  20    15     10     20

Представи си че информацията по-горе е в таблица и по принцип ако 1/X е по-голямо от другите, ще направи неговото <td> с някакъв цвят, но в случая най-голямото число се повтаря и затова искам да направя и двете <td> в този цвят. В случая това трябва да са 1/Х и 2/2
Виж сега. Мога да ти го напиша но не си ли се замислял, че заради едната по-дълга проверка, която вероятно ти е вършила работа, но искаш да смениш ти се налага да си усложняваш кода утежняваш излишно защото това вее ще налага някаква интерация или побзването на end() и prev() на сортиран масив. Глупаво е да утежняваш ненужно кода. Да ако е с един foreach на масива можеш да го обходиш и всяко едно да го сравниш, но от начало умишлино ти избягах от интерацията.

PHP:
$arr = array($dropa11,$dropa1x,$dropa21,$dropa22,$dropa2x,$dropax1,$dropax2,$dropaxx);

foreach($arr as $v){
if($dropa12 > $v){
echo "Da";
}
}
 

Back
Горе