Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121524 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 3220 invoked from network); 30 Oct 2023 15:04:00 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 30 Oct 2023 15:04:00 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id ED45F1804D0 for ; Mon, 30 Oct 2023 08:03:58 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-yb1-f174.google.com (mail-yb1-f174.google.com [209.85.219.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 30 Oct 2023 08:03:55 -0700 (PDT) Received: by mail-yb1-f174.google.com with SMTP id 3f1490d57ef6-d9c687f83a2so4027127276.3 for ; Mon, 30 Oct 2023 08:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698678234; x=1699283034; darn=lists.php.net; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=35zZd+pYvlPCV3PUSisWRsgXcPbaHqSzFuBkQKs4jS0=; b=ci0lTRM3DlNh0bkWWlzyavyQV82qQo+tBolQTuBDKJvwDdzU6LkOMqAmBq3VYq5YKp qVZG2x99fSJgj7913GGQZRj3MSCoBlVG3B3swVPYJBTaML7tlVloArP8ktktkg2slGwx SUrHyhNGNRgIanlNRBkRTT8UzDZM6ksRNxgh+GVmo8bZED/swxxPLxSUEkJGWDrqb8xg IDZDTsnviRzMlOQSM0nmJUfAR61Yb79RqNsM0YFuvXzLickRFWmAzeYZI/VO3gLYXnQw FJsxTQxeyICWnFiPkk4aXSAOSWBNS0ALs8+Qa/Y4uqT0inpYmL9Wq3p6HuAOwSlXoMzf 2ZTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698678234; x=1699283034; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=35zZd+pYvlPCV3PUSisWRsgXcPbaHqSzFuBkQKs4jS0=; b=u3wIsIDupVCRlemUzrCMAPT+E3+D8fa9otXKNTKSvwPP4QxWIkTgbWpPnoTYjDeu9v eJAQZQtVkXb1EPzAPS6hxHvTSQwHHHL5MRMN9U+V67WCe25duQLcFgEvHW6rrIs3fwIM uUZXUcelRO4jT3X/COHcKvibQxQF2cQlIF2mqma/5cVcGyWjy+YIsXnt+79pVFRoLSH7 3omBodZ0ckrc2ugb4HQWmAR4X5rjqXmvbWeh6yLGCMMNdqXljt0UCUjkFw28IEGj+a3n ZFSkxvqfCasCmd8wejypbNl3PrN2IzOndWAFUtoM8nVB+4NWXZq1JlpHxFIGvmuEOlEM Wrlg== X-Gm-Message-State: AOJu0YxfzJdvsoXQz69CH0zKvI3CptjA511eVBih5Md812pc5gUCgPz/ CIYjzPi+WLkfk1gPro+nV0gzfpY0YDVLnw== X-Google-Smtp-Source: AGHT+IEJxs/0NLEvNZ7Ayb1FKphjxIReF4aFQRBK2AL687pl9Tc/9nJTwX+v5UrvsNRDrniP+7R/LQ== X-Received: by 2002:a25:d654:0:b0:da0:5859:8465 with SMTP id n81-20020a25d654000000b00da058598465mr9807979ybg.20.1698678234162; Mon, 30 Oct 2023 08:03:54 -0700 (PDT) Received: from [192.168.8.241] ([45.174.128.1]) by smtp.gmail.com with ESMTPSA id e16-20020a25bc90000000b00d995a8b956csm3816035ybk.51.2023.10.30.08.03.52 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Oct 2023 08:03:53 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------EesKOIrFHqIewqbw99Yjmxby" Message-ID: <22ad21cc-f6ba-49e9-b1a9-8c73fe173648@gmail.com> Date: Mon, 30 Oct 2023 12:03:50 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: internals@lists.php.net References: In-Reply-To: Subject: Re: [PHP-DEV] New RFC : empty() function From: marcolindev@gmail.com (Marcos Marcolin) --------------EesKOIrFHqIewqbw99Yjmxby Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello, I understand that the idea of ​​the RFC is about some behaviors of empty(), e.g.: ```php $var = ''; var_dump(empty($var)); // true $var= []; var_dump(empty($var)); // true $var= 0; var_dump(empty($var)); // true var_dump(empty($empty)); // true $var= true; var_dump(empty($var)); // false, $varis defined and has value $str = false; var_dump(empty($var)); // true, $varis defined and has value ``` According to the manual: “determine whether a variable is empty”. However, according to my example, the variable is defined and has its value as 0 or false, and empty() returns true anyway. I confess that I've had some problems like this, and we chose not to use empty(), as sometimes 0 or false makes sense as a valid value. Also, having is_empty() would be nice, but keeping it empty, otherwise there would be a huge break. Maybe think of a strict empty() mode? Even so, it would change behavior. Sorry if I didn't understand the discussion correctly. --------------EesKOIrFHqIewqbw99Yjmxby--