Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106943 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 95352 invoked from network); 12 Sep 2019 15:57:28 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 15:57:28 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id DD8DB2C0450 for ; Thu, 12 Sep 2019 06:33:22 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp3.php.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Virus: No Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp3.php.net (Postfix) with ESMTPS for ; Thu, 12 Sep 2019 06:33:19 -0700 (PDT) Received: by mail-io1-xd35.google.com with SMTP id k5so29253383iol.5 for ; Thu, 12 Sep 2019 06:33:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HV25RsofltjoeCabgmZ6lYUK2MHeeJpUdSfwNQCxZ5Y=; b=VYgcHF1+jmq9pM2PJu1t96Wo37RE1VEW5JOp8y18IaF54kgAibIiG5UwY0PHsPXxPm EVDHQi2IgbvrrxhZsBE2wsO1pt8vsFU3CB2nNoUq5/V5LYk4LcfpkCYRv86q25t2OSfG ztpItacxxLeEIDUig3unWoTAFbNxIDSrpOQ0/Mn6qboSgA5Pmg5mBiyP7r9wwBFEQFxK XO6iZV7hE/+kS6dew88WcKbb6V8VABmdRf4uiZiVkKHNBIrX/JC8Au+zzkNq4lFIy0uA axdr4fBQ3qsBwnfuRVL9OJvCCpRZduaw0RXwjPFdbXTVZkJrh7o/LvLxTqjOpPbQIjP9 ozHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HV25RsofltjoeCabgmZ6lYUK2MHeeJpUdSfwNQCxZ5Y=; b=W2zbq6gh4InyI/5h9/QvgR0xTEYmL/MudIgUqOqjukoAw+HN9HHWzX7hfWXV5McgcH ISJBEBtTif9XpRIulPYCckW59vlbEPGQjkZojy4v8ZtGYSKVn2SDJ8FkEfMfX+NUTkp4 NmgyXJuvnvqt8VxikFdm/welDITXTBjAoOUA5nxw/9wwVHfvp/JIyfUab9wdWeXXFNX9 y4x+BgRSXjlYJvaogYeZBBp3fxsNsl+FldCxlkI9SVgV/xe84zFSeUiQl5sBtK+FZGD/ rgUYz8NEzFfZFNJgcuasLZsSTkru0lAKmKu8yrvS2i/jGs3uGA/YHq0t4ikPysqfN0jk wPQg== X-Gm-Message-State: APjAAAWJwZiFDJuas3pQ0xCU5ji6wKGabZGK9CwmHwpmTDUKTNx5Cymg 4/BL1BV28UPWItbJh1p4iexAFGRc8blMvIz/KEY= X-Google-Smtp-Source: APXvYqwMyueSAL1fo8OFAir4ozYK8OYMe4K96nvBkyhuQsTVgDpU1/lxQg35+tOoVcY82j4cB212Y5AfmD/pP3tLK0Y= X-Received: by 2002:a02:ccb3:: with SMTP id t19mr43472681jap.13.1568295198524; Thu, 12 Sep 2019 06:33:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 12 Sep 2019 15:33:06 +0200 Message-ID: To: Rowan Tommins Cc: PHP internals Content-Type: multipart/alternative; boundary="000000000000360afe05925b2ec9" X-Envelope-From: Subject: Re: [PHP-DEV] [RFC] Reclassifying engine warnings From: ocramius@gmail.com (Marco Pivetta) --000000000000360afe05925b2ec9 Content-Type: text/plain; charset="UTF-8" Hey Rowan, On Thu, Sep 12, 2019 at 3:30 PM Rowan Tommins wrote: > For instance, for undefined array keys, what if we had an operator for > "initialise and retrieve", such as $foo[? 'bar']. Then we could simplify > ugly code like this: > > if ( ! isset($foo[$key1]) { > $foo[$key1] = []; > } > if ( ! isset($foo[$key1][$key2]) { > $foo[$key1][$key2] = 0; > } > $foo[$key1][$key2]++; > > > With something safe but succinct like this: > > $foo[? $key1][? $key2]++; > $foo[$key1][$key2] = ($foo[$key1][$key2] ?? 0) + 1; Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ --000000000000360afe05925b2ec9--