Doc #80624 [Opn->Ver]: Undocumented change php 8 vs php 7 abs function

From: Date: Thu, 14 Jan 2021 16:53:48 +0000
Subject: Doc #80624 [Opn->Ver]: Undocumented change php 8 vs php 7 abs function
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-18390@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80624&edit=1

 ID:                 80624
 Updated by:         cmb@php.net
 Reported by:        ilyes dot ahidar at gmail dot com
 Summary:            Undocumented change php 8 vs php 7 abs function
-Status:             Open
+Status:             Verified
 Type:               Documentation Problem
 Package:            *Math Functions
 Operating System:   Linux Fedora 33
 PHP Version:        8.0.1
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2021-01-14 16:21:37] ilyes dot ahidar at gmail dot com

Description:
------------
---
From manual page: https://php.net/function.abs
---

The manual says that the abs() function accepts 1 argument of the type "mixed", but
enabling strict_types and passing a string to the abs function outputs an type error.

Test script:
---------------
<?php

declare(strict_types=1);

$a = "0.00";

var_dump(abs($a));

Expected result:
----------------
In php 7 it would output:

float(0)

Actual result:
--------------
Fatal error: Uncaught TypeError: abs(): Argument #1 ($num) must be of type int|float, string given
in /in/ZD7Kd:7
Stack trace:
#0 /in/ZD7Kd(7): abs('0.00')
#1 {main}
  thrown in /in/ZD7Kd on line 7


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=80624&edit=1


Thread (11 messages)

« previous php.doc.bugs (#18390) next »