Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62632 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 29840 invoked from network); 1 Sep 2012 12:07:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Sep 2012 12:07:28 -0000 Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 213.123.26.187 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 213.123.26.187 c2beaomr09.btconnect.com Received: from [213.123.26.187] ([213.123.26.187:10640] helo=mail.btconnect.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7E/22-17065-F7AF1405 for ; Sat, 01 Sep 2012 08:07:28 -0400 Received: from host81-138-11-136.in-addr.btopenworld.com (EHLO _10.0.0.5_) ([81.138.11.136]) by c2beaomr09.btconnect.com with ESMTP id IVY37070; Sat, 01 Sep 2012 13:07:24 +0100 (BST) Message-ID: <5041FA79.4070008@lsces.co.uk> Date: Sat, 01 Sep 2012 13:07:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120604 Firefox/13.0 SeaMonkey/2.10 MIME-Version: 1.0 To: PHP internals References: <5041CCE7.1000309@lsces.co.uk> <5041D6EF.7050308@lsces.co.uk> In-Reply-To: <5041D6EF.7050308@lsces.co.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mirapoint-IP-Reputation: reputation=Fair-1, source=Queried, refid=tid=0001.0A0B0303.5041FA7A.0075, actions=tag X-Junkmail-Premium-Raw: score=7/50, refid=2.7.2:2012.9.1.112117:17:7.944, ip=81.138.11.136, rules=__MOZILLA_MSGID, __HAS_MSGID, __SANE_MSGID, __HAS_FROM, __USER_AGENT, __MIME_VERSION, __TO_MALFORMED_2, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __CT, __CT_TEXT_PLAIN, __CTE, __ANY_URI, __URI_NO_MAILTO, __URI_NO_WWW, __CP_URI_IN_BODY, BODY_ENDS_IN_URL, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_2000_2999, __MIME_TEXT_ONLY, RDNS_GENERIC_POOLED, HTML_00_01, HTML_00_10, BODY_SIZE_5000_LESS, RDNS_SUSP_GENERIC, RDNS_SUSP, BODY_SIZE_7000_LESS X-Junkmail-Status: score=10/50, host=c2beaomr09.btconnect.com X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B0209.5041FA7C.00F0:SCFSTAT14830815,ss=1,re=-4.000,fgs=0, ip=0.0.0.0, so=2011-07-25 19:15:43, dmn=2011-05-27 18:58:46, mode=multiengine X-Junkmail-IWF: false Subject: Re: [PHP-DEV] Support negative indexes for arrays and strings From: lester@lsces.co.uk (Lester Caine) Lester Caine wrote: > Sherif Ramadan wrote: >> I can't understand what you mean by "Different means of identifying >> position in the array"? If you mean a way to access an array's element >> by its position in the array then yes, we already have that. It's >> called array_slice() seehttp://php.net/array-slice which allows you >> to access elements in the array by their offset and that includes >> using a negative offset. The key and the offset are two completely >> different things. > > Never had to use it ;) But then there is a heck of a lot of stuff I've never > even looked at. > But it does blow this thread - when referring to collection arrays - out of the > water? The problem I see is people trying to apply 'string' rules in the wrong > way ... and I find that string handling works fine for me as it currently works > but we probably just need to STOP people trying to apply the same rules to > something that is totally different? And I though that 'string' -ve indexes had > been sorted? OK ... got back form the weekly chore of shopping, and was thinking about what I had said :) "Different means of identifying position in the array"? I was probably thinking more along the lines of $numbers[-1] is a perfectly valid key on that array, so there is no way that it can be redefined otherwise. It would have to be something completely different such as $numbers[(-1)] to differentiate from the normal use of a key in the array ... and I would have to object strongly to adding that since it is different to other methods. The problem here was accepting that [-1] works differently on a string, and now we are seeing the consequences? It is only valid on a string and so this discussion needs a big brick wall between strings and 'collection arrays' ? People who think they need a position based indexing obviously need educating in the use of the array_slice and the other functions that seem to go with that, but I can see that this method of handling array indexes ( rather than keys ) COULD benefit from a tidy up. As has been discussed in general on the whole array API? -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk