我正在编写一个函数,名称为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);
?>