Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62329 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 21454 invoked from network); 21 Aug 2012 02:10:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Aug 2012 02:10:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.170 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.212.170 mail-wi0-f170.google.com Received: from [209.85.212.170] ([209.85.212.170:38307] helo=mail-wi0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 76/36-28202-E2EE2305 for ; Mon, 20 Aug 2012 22:10:55 -0400 Received: by wibhq12 with SMTP id hq12so3593094wib.5 for ; Mon, 20 Aug 2012 19:10:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=knb0nBAf9EJ7vwqPXtXMQCo9r+BlnADzPPjyAPt/ov0=; b=YJ5gtDRK0Iz3H4kw13x1HKPkWDUMna57606KXqZKrvJJWgL85zn9iiP1J+Gv5EVi8v jQD6wMFnipj0nXwbcW6DTFSl5Vyu6bFZg0hZHeL1ldhN079B6XthyoOZr5e3QqHHxXj1 aX2E/dMKjJnpWt1GvwRXaYANhvKCg4ul9wdP7qbVTgxzRQ7hDoblSURevT1HVmgQJLay N5hPBIfKIw3ZIumm4YfYOI3uXkzpt70FiIpe+dq1oYN7zW6ILKMkx1eIjWJFAnEw6R+M YOOSU6Evw7hmbaHCtyZ8IWxaxKLtxgqnzDnGEEBHmFfq4CKY8cvrhAqht93qmw/reM1R TvSA== Received: by 10.216.192.85 with SMTP id h63mr8068731wen.7.1345515051302; Mon, 20 Aug 2012 19:10:51 -0700 (PDT) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.223.86.201 with HTTP; Mon, 20 Aug 2012 19:10:11 -0700 (PDT) In-Reply-To: References: <502EB667.1020602@lerdorf.com> Date: Tue, 21 Aug 2012 11:10:11 +0900 X-Google-Sender-Auth: NrXVyQnE9SGpZwSUu-yTac5opMQ Message-ID: To: Rasmus Schultz Cc: internals@lists.php.net Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] re: removing an item from an array From: yohgaki@ohgaki.net (Yasuo Ohgaki) Hi, 2012/8/21 Rasmus Schultz : > I have a login (mindplay) but I do not have permission to post or edit > anything on the wiki... I've created RFC for this https://wiki.php.net/rfc/array_delete Get wiki account and finish discussion. I may write patch for this with my spare time, but it may take while to find time. I suggest write patch and send pull request. Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net > > On Mon, Aug 20, 2012 at 8:01 PM, Will Fitch wrote: > >> Please let this die until someone is serious enough to come up with an >> rfc. This has been nothing but counterproductive arguing. If someone feels >> strongly about it, write an rfc then we can discuss? >> On Aug 20, 2012 7:53 PM, "Yasuo Ohgaki" wrote: >> >>> Hi, >>> >>> 2012/8/21 Herman Radtke : >>> >>> May be we should have something like >>> >> >>> >> >> >>> >> >> array_delete_if($array, function($v, $k=null) { if ($v == 300) >>> return >>> >> >> true; }) >>> >> > >>> >> > So array_filter? >>> >> >>> >> I'll use it or like for deleting, but the point of this thread is >>> >> "intuitive function for deleting element(s)" >>> >> >>> >> array_delete($array, $value|callable) >>> >> >>> >> would be nicer for users, perhaps. >>> > >>> > >>> > You are basically asking to alias array_filter with "array_delete". >>> That is >>> > a very slippery slope. I think array_filter is very a very obvious >>> choice to >>> > remove something from an array. The "filter" function/method is common >>> in >>> > functional languages (and functional frameworks like Underscore). >>> > >>> > These are things developers just need to learn as part of development. >>> > Really, this is entire thread should be on stack overflow, not >>> internals. >>> >>> I guess you haven't read later post. >>> >>> You've also made a novice mistake. >>> array_filter() DO NOT delete elements, but creates new array. >>> array_delete() is another form of array_walk(), not array_filter(). >>> See my posts. >>> >>> Having a API for dedicated task is good thing. >>> Who would argue array_pop()/array_push() isn't needed? >>> >>> Regards, >>> >>> -- >>> Yasuo Ohgaki >>> yohgaki@ohgaki.net >>> >>> -- >>> PHP Internals - PHP Runtime Development Mailing List >>> To unsubscribe, visit: http://www.php.net/unsub.php >>> >>>