Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45876 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26832 invoked from network); 24 Oct 2009 13:09:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Oct 2009 13:09:56 -0000 Authentication-Results: pb1.pair.com header.from=ithinkihaveacat@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=ithinkihaveacat@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.160.44 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: ithinkihaveacat@gmail.com X-Host-Fingerprint: 209.85.160.44 mail-pw0-f44.google.com Received: from [209.85.160.44] ([209.85.160.44:38070] helo=mail-pw0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 13/25-02769-2ACF2EA4 for ; Sat, 24 Oct 2009 09:09:55 -0400 Received: by pwj8 with SMTP id 8so633651pwj.23 for ; Sat, 24 Oct 2009 06:09:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=NkDxGCD84fRF0H0xwcorJ+YddHaI6rQ1TMmkYC02+OQ=; b=t32flKLSjmgfGWKzMfFEI+nomdwPNI7xFA/BpCC9Z46vlITc0qW16aBbVE3OpALmKU mo4DTADJ9OfrkKI3GXdgI9BOKKKdDlexKr250DN4Ax1bOXaV4C85cdfhaEmlpKCKqhPK OV/R1RmmCpNFATz6lPPJj+dj6YWJb6ThWJOWw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=nDOyLPTK2NhfG4uUODtO6GYVSm9MMbLGMQejhVQSJamPZgJuypEGxB/zxOihphOg5A yMA7ZrGaerQXiJotXgG1Md89/9vLx+QElRaH3JGA28w40xx0wvj6i49EPCdfjPMV9+L4 3XdXmmnlZ5eN70+syC1kZU7xR3oIfDM5c2YMA= MIME-Version: 1.0 Sender: ithinkihaveacat@gmail.com Received: by 10.141.41.17 with SMTP id t17mr1895797rvj.223.1256389791964; Sat, 24 Oct 2009 06:09:51 -0700 (PDT) In-Reply-To: <4ADC57F3.9010401@easyflirt.com> References: <4ADC57F3.9010401@easyflirt.com> Date: Sat, 24 Oct 2009 14:09:51 +0100 X-Google-Sender-Auth: fb5901d8b12d36fa Message-ID: <140eba4e0910240609k61af639fp8a4ccaf4048b9b5c@mail.gmail.com> To: Mathieu Suen Cc: internals@lists.php.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Performance question about create_function From: mjs@beebo.org (Michael Stillwell) On Mon, Oct 19, 2009 at 1:13 PM, Mathieu Suen wrote: > Looking at the way array_map is working, it could worth to use > create_function for object. > > For example if I got a list of object: > > $callback =3D create_function($element, 'return $selement->getId();'); > $ids =3D array_map($callback, $someInstances); > > > But I don't know if it's cost a lot in performance instead of the ugly > verbose way: > > $ids =3D array(); > foreach($someInstances) > { > =A0 =A0 =A0 =A0$ids[] =3D $someInstances->getId(); > } I think what you want to do can be done with anonymous functions: $arr1 =3D array( (object) array("id" =3D> 56), (object) array("id" =3D> 42) ); $ids =3D array_map(function($obj) { return $obj->id; }, $arr1); print_r($ids); produces: Array ( [0] =3D> 56 [1] =3D> 42 ) Michael --=20 http://beebo.org +44 78 2118 9049