note 129119 added to class.stringable

From: Date: Sat, 23 Dec 2023 03:39:36 +0000
Subject: note 129119 added to class.stringable
Groups: php.notes 
Request: Send a blank email to php-notes+get-221073@lists.php.net to get a copy of this message
methods like empty() will always return false for a stringable even if __toString() returns an empty value. Those methods return false for objects, period. <?php class Uuid implements Stringable { public function __toString(): string { return ""; } } var_dump( empty(new Uuid('')) ); // false var_dump( empty((string) new Uuid('')) ); // true var_dump( empty(new class{}) ); // false var_dump( empty((object)[]) ); // false var_dump( empty([]) ); // true ?> ---- Server IP: 45.112.84.4 Probable Submitter: 45.91.157.134 (proxied: 177.50.225.251) ---- Manual Page -- https://php.net/manual/en/class.stringable.php Edit -- https://main.php.net/note/edit/129119 Del: integrated -- https://main.php.net/note/delete/129119/integrated Del: useless -- https://main.php.net/note/delete/129119/useless Del: bad code -- https://main.php.net/note/delete/129119/bad+code Del: spam -- https://main.php.net/note/delete/129119/spam Del: non-english -- https://main.php.net/note/delete/129119/non-english Del: in docs -- https://main.php.net/note/delete/129119/in+docs Del: other reasons-- https://main.php.net/note/delete/129119 Reject -- https://main.php.net/note/reject/129119 Search -- https://main.php.net/manage/user-notes.php

« previous php.notes (#221073) next »