diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 49cc891dbb4..12ce0f6e1a6 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -475,6 +475,7 @@ function_entry basic_functions[] = { PHP_FE(dechex, NULL) PHP_FE(base_convert, NULL) PHP_FE(number_format, NULL) + PHP_FE(fmod, NULL) PHP_FE(ip2long, NULL) PHP_FE(long2ip, NULL) diff --git a/ext/standard/math.c b/ext/standard/math.c index d594a5a21ed..fea4be5f3b8 100644 --- a/ext/standard/math.c +++ b/ext/standard/math.c @@ -1046,6 +1046,21 @@ PHP_FUNCTION(number_format) } /* }}} */ +/* {{{ proto double fmod(double x, double y) + Returns the remainder of dividing x by y as a double */ +PHP_FUNCTION(fmod) +{ + double num1, num2; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &num1, &num2) == FAILURE) { + return; + } + + Z_DVAL_P(return_value) = fmod(num1, num2); + Z_TYPE_P(return_value) = IS_DOUBLE; +} +/* }}} */ + /* * Local variables: * tab-width: 4 diff --git a/ext/standard/php_math.h b/ext/standard/php_math.h index 496ccf1b808..ceb6a0b09e5 100644 --- a/ext/standard/php_math.h +++ b/ext/standard/php_math.h @@ -58,6 +58,7 @@ PHP_FUNCTION(hexdec); PHP_FUNCTION(octdec); PHP_FUNCTION(base_convert); PHP_FUNCTION(number_format); +PHP_FUNCTION(fmod); PHP_FUNCTION(deg2rad); PHP_FUNCTION(rad2deg);