diff --git a/Zend/tests/gh23662.phpt b/Zend/tests/gh23662.phpt new file mode 100644 index 000000000000..426b6e2aa5d7 --- /dev/null +++ b/Zend/tests/gh23662.phpt @@ -0,0 +1,12 @@ +--TEST-- +GH-23662 (print_r() results in warning for NAN) +--FILE-- + +--EXPECT-- +NANArray +( + [0] => NAN +) diff --git a/Zend/zend.c b/Zend/zend.c index 42e6fb568a22..3cfc0ffd2512 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -602,6 +602,9 @@ static void zend_print_zval_r_to_buf(smart_str *buf, zval *expr, int indent) /* case IS_LONG: smart_str_append_long(buf, Z_LVAL_P(expr)); break; + case IS_DOUBLE: + smart_str_append_double(buf, Z_DVAL_P(expr), EG(precision), false); + break; case IS_REFERENCE: zend_print_zval_r_to_buf(buf, Z_REFVAL_P(expr), indent); break;