Найти наибольшее целое число из набора переменных в PHP? - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть следующие переменные:

$a = 100;
$b = 200;
$c = 300;

Теперь я бы хотел иметь возможность проверить значения $ a, $ b и $ c и в итоге вывести что-то вроде "$ c равен 300 и, следовательно, является самым большим" .

Как мне добиться этого с помощью PHP?

Ответы [ 4 ]

3 голосов
/ 09 декабря 2011

Это будет работать даже с отрицательными значениями:

$a = 100;
$b = 200;
$c = -300;
$max = max($a,$b,$c);
foreach( array('a','b','c') as $v) {
    if ($$v == $max) {
        echo "\$$v is $max and therefore the largest";
        break;
    }
}

выход:

$b is 200 and therefore the largest
1 голос
/ 09 декабря 2011
$a = 100;
$b = 200;
$c = 300;
$max = "a"
foreach(array("a","b","c") as $v){
if($$v > $$max)$max = $v;
}
echo "$max is $$max";
0 голосов
/ 09 декабря 2011
$a = 100;
$b = 200;
$c = 300;

$values = compact( 'a', 'b', 'c' );
arsort( $values );

echo '$' . key( $values ) . ' is ' . current( $values ) . ' and therefore the largest';

Мне нравится это решение, так как оно довольно аккуратное;безусловно, эстетически хорошее решение.Не уверен, как он будет работать с другими решениями для большого количества переменных.

Я бы определенно рекомендовал вам попытаться получить начальные значения в массив, а не отдельные переменные для начала.

0 голосов
/ 09 декабря 2011

Попробуйте

$arr=array("a"=>100,"b"=>200,"c"=>300);

$val = max($arr);

print_r(array_keys($arr, $val));echo "has maximum value ".$val;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...