1

Try to use function argument in PHP to plus and minus int.

My functions is :

function int_test($arg) {
    $main = date('m');
    return intval($main.$arg);
}

so when i test :

echo int_test(); // 11
echo int_test(-1); // 11
echo int_test(1); // 11

Whats happen ? or how can I do ?

4

2 回答 2

2
function int_test($arg = 0) {
    $main = date('m');
    return intval($arg) + $main;
}
于 2012-11-27T13:50:51.130 回答
1

将从 date ( ) 返回的.数字字符串与您传递给函数$main的参数 ( )连接起来,因此您最终会得到字符串“11-1”或“11+1”$argint_test

return intval($main.$arg);

返回值将是从字符串“11+1”到第一个无效字符(此处为“+”或“-”)的有效数字数据,剩下 11。

来自 PHP 手册:

字符串转换为数字

在数字上下文中评估字符串时,结果值和类型确定如下。如果字符串包含任何字符“.”、“e”或“E”,则该字符串将被评估为浮点数。否则,它将被评估为整数。该值由字符串的初始部分给出。如果字符串以有效的数字数据开头,这将是使用的值。否则,该值将为 0(零)。有效的数字数据是一个可选的符号,后跟一个或多个数字(可选地包含一个小数点),后跟一个可选的指数。指数是“e”或“E”后跟一位或多位数字。

于 2012-11-27T13:59:32.817 回答