Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121657 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 8191 invoked from network); 11 Nov 2023 18:05:19 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Nov 2023 18:05:19 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 06EDA180087 for ; Sat, 11 Nov 2023 10:05:16 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) (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 ; Sat, 11 Nov 2023 10:05:15 -0800 (PST) Received: by mail-yb1-f173.google.com with SMTP id 3f1490d57ef6-d9b9adaf291so3036678276.1 for ; Sat, 11 Nov 2023 10:05:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dqxtech.net; s=google; t=1699725915; x=1700330715; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=8d1M8AtZcwWNlWg4PycMvpTSE/lZ8pN0OL/3h0mbfwo=; b=mXIx4ypypv4LZwj7uJ68oshAkawSRs/vnKowRRMFN0eKiyshW5fEvjBd6ZkmB9bcy+ 86ONIzQmdZjAdGYbuBk8KxP09KMZyKoKt5Gs+5rNTOWh9PDc5qtHQHYAzjoW/cwXDDkM OPImaU0pmt120LkCCKD/9tLwo8cP+QYrnGY2im9z45TdwHGXv8RF3SeX7ky+FcJC/tH6 oan/INFx/fjvc82MQfhVKhPAuvqEEuM2P73N1LZaEuZiAJnBOBoOQBMHdYOiE8lKGnYU Ougi5uctfoZYQ+9kO492+RzhRTyBtphiZNDWrVsE5U/HtANrjbVdCHVdtX6Q/Esp2LS7 TeZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699725915; x=1700330715; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=8d1M8AtZcwWNlWg4PycMvpTSE/lZ8pN0OL/3h0mbfwo=; b=FDT/8kEihTFqgjk/50W1FMWYHvhc+Rm9enb5KvXZRFtTdSde7mk8QFU668arwPqRV5 ij2w6Pz+Da5goIa5yrKaXT4iakEPhBkWWn1XBV1UzLefKxaDAyRf2z8J9DXKWa/jzTkU HCncBPZLLsYV/MrlBEhNVVvsN8ThqEt5YItiknmc/bcH3/Jj9frOXtHMLOAzwahT27nm mCS13NIGLeHejZ5jDcTYEQ4AtlXG05kx9Qjma3m67lEZeH5D3jcP082mTH7ijV3PM33v E1/u/rleKrYlXLPN94dvSU/pqta21fksM78mJUTabtm2+nroFfcR/usECvdXcD9Q62ZC bvFQ== X-Gm-Message-State: AOJu0YwHf+hRETZkiQd9O5OG8wkvBrxyrHgmAWHn4BcYQkvNEcbU2cru kBsY1o5BzlN/4cRp5QVYnqnQvTisFvBAcQGik6U1DFng6vyVQ0gJSRYGDw== X-Google-Smtp-Source: AGHT+IGdn62UmWdjOulQvblZI+VnQ+ysYt38NsXjOW7KT0mTmS1z4PcHAncDZ+IDDe9/q6shNjv4fDy1EmP2LVucFho= X-Received: by 2002:a25:a4a8:0:b0:d9b:d61d:690a with SMTP id g37-20020a25a4a8000000b00d9bd61d690amr1319071ybi.11.1699725914720; Sat, 11 Nov 2023 10:05:14 -0800 (PST) MIME-Version: 1.0 Date: Sat, 11 Nov 2023 19:05:04 +0100 Message-ID: To: PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Array functions with strict comparison From: andreas@dqxtech.net (Andreas Hennings) Hello internals, I noticed that array functions like array_diff(), array_intersect() etc use weak comparison. E.g. array_diff([0, '', false, null], [null]) only leaves [0]. This makes these functions useless for a number of applications. Also it can lead to unpleasant surprises, if a developer is not aware of the silent type casting. For BC reasons. the existing functions have to remain as they are. Also, most of them don't really have a place for an extra parameter to tell them to use strict comparison. So, as a solution, we would have to introduce new functions. Has anything like this been proposed in the past? How would we name the new functions? Should they be functions or static methods like StrictArray::diff(..)? I could post an RFC but I want to get some feedback first. Kind regards Andreas