Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121515 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 29205 invoked from network); 29 Oct 2023 20:33:10 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 29 Oct 2023 20:33:10 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 34A7A180382 for ; Sun, 29 Oct 2023 13:33:09 -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=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8075 40.104.0.0/14 X-Spam-Virus: No X-Envelope-From: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2045.outbound.protection.outlook.com [40.107.237.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 29 Oct 2023 13:33:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P4rWcJQIOoTtzSkbN+n17ILc4dkX6q5Idk+AHcSv0YB2ddCDSvzCQ+yviEccCDRsxAhjZQFvufmYv9LLFH8I0oIgROVsf7BUTQD+a59NQ6ytCYuheTpmqkGRBNFVEQcSYvCB9L6rYhJbGrPSw57UzCnWuSnqrnZ5ehOMzdQ++brBuINtP6S0zzHstc8LSKPmpb7GXU/5ELVRz6nEYI0fDvERvELf/MTLoM91Vy5e47PFXf65zgF9W+JRhynbpVBa/HkVEyk18BgxgGm642+foT/76AuzLVHZcDK7EbtIF15YKawCVmfTKWj5gaQWurny+B1EhbYECiNOmcSlUFQgfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mR0vIOG8pZNdr9Sz01VFu4XdH/WkOBVbAT/Qp8AVUsc=; b=EgmJIFqgOvskpGjDcSZxkNo9zdeKoTU5N4iNpNpAhU2VBIIKwjJ2BZOjoC35f4LMvpywwlVOnG7Apc6KvI6/y4rbsJDB2xdCoxYw0DVRfA5yZuwCLSbb4Hn44SDl2rKQ/s8MdryOFu/yo4og/e9cnEJrr8lusnHBKDxBAZgO191SBKxKmEef5pELyEd0P5lLqJQyRWzEIbKXd/tbl+I1uQYWiQWJhNfoDuiosfvhhj7VinAE7c6UJ6QPQpdT6IPEJu6IH5Vm8EpWZBAxyjuaNntXMGGNnY1Jk38RnzXMxp4+bx94OHAEWw6mVV2D0IieIndu0FgqWH3aLNf4EOUBTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=shymko.net; dmarc=pass action=none header.from=shymko.net; dkim=pass header.d=shymko.net; arc=none Received: from PH8PR10MB6337.namprd10.prod.outlook.com (2603:10b6:510:1cc::10) by SA2PR10MB4618.namprd10.prod.outlook.com (2603:10b6:806:11f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Sun, 29 Oct 2023 20:33:05 +0000 Received: from PH8PR10MB6337.namprd10.prod.outlook.com ([fe80::6e5c:25b7:3aac:53d3]) by PH8PR10MB6337.namprd10.prod.outlook.com ([fe80::6e5c:25b7:3aac:53d3%3]) with mapi id 15.20.6907.032; Sun, 29 Oct 2023 20:33:05 +0000 To: Robert Landers CC: internals Thread-Topic: [PHP-DEV] Discussion - Anti-null coercion Thread-Index: AQHaCpYha3zyjnR8VEKVzYvAzyTigbBhLeuAgAAIlQCAAAKPAA== Date: Sun, 29 Oct 2023 20:33:04 +0000 Message-ID: <9C502C4E-1A00-49DB-8DDE-4F6EE5E514F2@shymko.net> References: <0CDEE8D1-7905-44B4-9C00-0251B94222C4@shymko.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=shymko.net; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH8PR10MB6337:EE_|SA2PR10MB4618:EE_ x-ms-office365-filtering-correlation-id: ccc8c078-c714-4da8-dcab-08dbd8be40be x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EmCgu9z+4EYY4pVzuK+gFQ3yrGmtvVyUeseF8fJo4QMxtf3lA+gc9zuviouLBg7lEXgb7GCbJLe86LMQVuVZml7NeM0DMsb/kcN/4DoGLqjNEXO0O6WpLoXdFN9MFWLvjJCT+986ywb26Xgzr7FaQdF0+m9gDY+nxOva9g/GAhtcJRBDcz7mznjqI5bmqZkKUrR4AKe3g5/qnRPHc+LxqL2ckqKmnO83TSd4O/VgZTQdt8kcMoEkB8o4Glb+iR5pmCUHxPZn8prr2B4djEHw+B0qUto4cE2obvcHpljHnkjEfJ3DlbRbp21oTLzx9kYVMELt1Wnqtt4LQVcQbuDKd+yIQc0bo/sOTnDsmb2aDC1AmVGgx+aj2qEhNdmAbbrwEJW+KxmfVSd8JTytAhmy+o2OEkmUT9sr79lUXiJ28ZDixREN41EcJ4WgwZzwWR9b75rUXQ70CpRShekzk4i//jFcBfXKQVukwm51klVDngyPrgvke/NKjU9HcoFy0cHQWGDfN/DBisCcSxnXZpgd5vOuiSpsyrpMPVnhTGCSHnzLG28xtyj9/n8h5Ss8fOMcO8W2Cuod6uZnti1ERlu7pUUhpzqErw95bjcc6ei8IWSQV6g4jL2MBRvd+8Yk4whm x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR10MB6337.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39830400003)(376002)(366004)(136003)(346002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(6916009)(38070700009)(71200400001)(2906002)(38100700002)(5660300002)(4744005)(4326008)(16799955002)(64756008)(8936002)(8676002)(6506007)(36756003)(76116006)(166002)(91956017)(33656002)(86362001)(316002)(966005)(66556008)(6512007)(66446008)(2616005)(53546011)(478600001)(83380400001)(66476007)(41300700001)(66946007)(6486002)(122000001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ksRn9/HRs6uPL+JetYsw4BRiknfipCb7Og+Immgbje7iufBrLp7761ELN6E1?= =?us-ascii?Q?y1N6M2f1QcycSwz42sepTWT2eK7Z2SHcLTDPCduGvbTBwMieCjYEHJPuHkP7?= =?us-ascii?Q?cUp9+QJqc2vdcvIt3BaEyXXBlm9p7B5gVp7D+2uP1SDRBQ4zQejS60bmxPO7?= =?us-ascii?Q?LoiT5NcRKLHw92h3UhdDqME5s4+yGk1FYKFpujDwm+uXMUxvfS8dIwUXi7Kj?= =?us-ascii?Q?7hW2aQKKOTeM19xTudLrcp4JEtRvxfTdLIpw2h0pMsGkymgFFcKiSehSykt4?= =?us-ascii?Q?qEnHL/tF45N9P7HPr/sD7S8Bx18dr0gek9NF6qogxCeTslI2U1ZXpRL4dfwY?= =?us-ascii?Q?0fHMqPK+NzRYQ6PtAc5JjRXsdbtNT2RsXKRNif8Z24p0yBd8KL98DZknW13P?= =?us-ascii?Q?WGW3S8B7bmIEKFSrpMqUwxo2v4pvImGU+luWk3NuilgHehKxP21BMZgZl0Um?= =?us-ascii?Q?xqlmqMji4IQCoAzdxe5MKFK3KtOgPrWb4kG5+XisFogvPh6ZrqjeBMb5N9Uy?= =?us-ascii?Q?Nh1yJxSomRqn3mqUw5W7FnNSOL7xacWi6yhorO8lb1qDR2/wkchXsOcLikuV?= =?us-ascii?Q?5nKa2KR+6nQzBHMW+A5PsEDOEkjkIJBk/IDAtL8OsS7YZKQPYaE2WEwE1kJm?= =?us-ascii?Q?znLjnT7ab9SQ8GMDcX3vln0q6FwDQYgzQnFQtTnsfA7nE6R+loFuJofmQSTo?= =?us-ascii?Q?BjXP7duFFoXu6JXVKGeAFegrav1inukQPgz6S7ZAznl9Mn+KUp2mtKOcOmna?= =?us-ascii?Q?W4vcp/85JAzJYyc1kHXYLeGJTHVam7QrzZ9NJ1rX5fNz6HJqwfECvcnbiBCL?= =?us-ascii?Q?PJM4d/uqIPbPgwAZrNUmLHa82D3tC0o650DOFGQIxGFGMYEjGDuk1SK3V2lL?= =?us-ascii?Q?ZNvet76TYNTwkB/o6YPAv6ubxS0UsH0XNaQkZjF1x0Z0LMuUv161KMiHNZB/?= =?us-ascii?Q?ZOVSqN7qq/rf0Idk5lYCKkpdi7tr5rgpuGpwXDKW5v5on4YI7JvKQtinIBVF?= =?us-ascii?Q?FwAqY0wRW++hkKCE2CASKSVIwCtjvCyZIuQZUgcqI8G8TuD48Rc8rjO8oUkx?= =?us-ascii?Q?SH31Z0/7Qm7EC/xlAl5LuEw+pd/S2zqk2ao4OLwA6Iz2Zldk2vsCoNMkdyMv?= =?us-ascii?Q?x/zX1/gsZnHGLw5Dgi0mAyQR595CqGeYWu+GAQmc8+4w5R0a2Vr+NHJeq+ES?= =?us-ascii?Q?XFfPpZ+bLyrEbMKhmYWC6OyCNtZQTiRmjeuPvmwEWtF96EIAadVj4jY8ZooA?= =?us-ascii?Q?ccSOqUoQnvFu6kqpqHVxN00Ss4XIa5/m24ZqS6Ytx5A7bbGLEmTVW7lPHpIZ?= =?us-ascii?Q?JtdsSXYAEfSlc+tRV5a009HhKD2ZEnk5gm20CKrLAc2ofyptv8IHfftlVeOu?= =?us-ascii?Q?LeoZb4HBw2N1E44sHYvinAkNBAqvlJubl6sCr8ahVGUlrouiCKvpjZjTnxXV?= =?us-ascii?Q?VpASx05RsomEds5TDoT2fqk/Z5Wn1ZlM5YWPqgNWA1KNzffowOBdq2GWKfur?= =?us-ascii?Q?bpVr2WwSJDx4Aq88UFGytv1FemNFzHH+IWcP5knix1yFQTs2XE2Y8I7Ajk3E?= =?us-ascii?Q?lLiFxHccsLfeDRSxA6y99jG462aDX/aTnnhpVk38c8AxFK1Xf37qdg3exVl7?= =?us-ascii?Q?Gx26F2BeTL0iQ6qqKMkqq9z20tVXLYcjoGwmO4uOB6aP?= Content-Type: multipart/alternative; boundary="_000_9C502C4E1A0049DB8DDE4F6EE5E514F2shymkonet_" MIME-Version: 1.0 X-OriginatorOrg: shymko.net X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6337.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccc8c078-c714-4da8-dcab-08dbd8be40be X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2023 20:33:04.4518 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d7878c48-41c7-48dd-bd7e-899af7355b7e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6hs6NOkfO0PLg/GvFUlnRU67bT79qNy6tQ5541cFW2CKJYB671TZjx6Ik9lfTtzLaYF/6/JstQvwid1SbeoVwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4618 Subject: Re: [PHP-DEV] Discussion - Anti-null coercion From: sergey@shymko.net (Sergii Shymko) --_000_9C502C4E1A0049DB8DDE4F6EE5E514F2shymkonet_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable On Oct 29, 2023, at 3:23 PM, Robert Landers > wrote: Because falsy is different than null/non-existent. The closest equivalent is "array_key_exists" (instead of empty/isset) but this proposal isn't just applicable to arrays. I run into this pattern of "if not null, then do something with the value" pretty often and it is tedious to type it out. In terms of falsy values, null coalescing operator ?? is a syntactic sugar = for isset(). So, ?! operator will be equivalent to !isset() expression in the ternary. For the reference: https://www.php.net/manual/en/migration70.new-features.php#migration70.new-= features.null-coalesce-op --_000_9C502C4E1A0049DB8DDE4F6EE5E514F2shymkonet_--