函数,该函数返回多个数字之一的最大值,并验证参数是否为数字



我正在编写一个函数,名称为max_number,它返回数字的最大值数字变量。如果其中一个参数不是数字,则返回false。使用is_numeric()函数。但是这个函数总是返回false。我会做错什么吗?

代码和这个:

<?php
function max_number()
{
$args = func_get_args();
if( $args !== null && !is_numeric($args)){
echo "false";       
}
else{
echo "Maximo number is: " . max($args);
}
}
max_number(1,2,3,4,5);
?>

在您的代码中,$args是一个数组,is_numeric($args)将始终返回false

您需要单独检查$args的每个元素。

<?php
function maxNum() {
$args = func_get_args();
return ($args === array_filter($args,'is_numeric'))?max($args):false;
}
echo maxNum(1,2,3,4,5);          // 5
echo maxNum(1,"No!",3,4,5);     // false
<?php
function max_number()
{
$args = func_get_args();
if( $args == null && !is_numeric($args)){
echo "false";       
}
else{
echo "Maximo number is: " . max($args);
}
}
max_number(1,2,3,4,5);
?>

最新更新