Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62700 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 67266 invoked from network); 3 Sep 2012 01:02:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Sep 2012 01:02:16 -0000 Authentication-Results: pb1.pair.com smtp.mail=david.zuelke@bitextender.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=david.zuelke@bitextender.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain bitextender.com from 80.237.132.12 cause and error) X-PHP-List-Original-Sender: david.zuelke@bitextender.com X-Host-Fingerprint: 80.237.132.12 wp005.webpack.hosteurope.de Received: from [80.237.132.12] ([80.237.132.12:40337] helo=wp005.webpack.hosteurope.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7B/7E-17065-19104405 for ; Sun, 02 Sep 2012 21:02:10 -0400 Received: from 188-194-236-138-dynip.superkabel.de ([188.194.236.138] helo=[192.168.178.20]); authenticated by wp005.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) id 1T8L3G-0004PY-3a; Mon, 03 Sep 2012 03:02:06 +0200 Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: multipart/signed; boundary="Apple-Mail=_A3D11007-9761-4AF4-A3A8-91A4BE3870C8"; protocol="application/pkcs7-signature"; micalg=sha1 In-Reply-To: <23535266.1346627467279.JavaMail.root@wamui-hunyo.atl.sa.earthlink.net> Date: Mon, 3 Sep 2012 03:02:05 +0200 Cc: Stas Malyshev , "internals@lists.php.net" Message-ID: <6E84F72C-0316-49C3-BD90-7DF470B4A676@bitextender.com> References: <23535266.1346627467279.JavaMail.root@wamui-hunyo.atl.sa.earthlink.net> To: slevy1@pipeline.com X-Mailer: Apple Mail (2.1278) X-bounce-key: webpack.hosteurope.de;david.zuelke@bitextender.com;1346634130;2826d4cf; Subject: Re: [PHP-DEV] Support negative indexes for arrays and strings From: david.zuelke@bitextender.com (=?iso-8859-1?Q?David_Z=FClke?=) --Apple-Mail=_A3D11007-9761-4AF4-A3A8-91A4BE3870C8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 03.09.2012, at 01:11, slevy1@pipeline.com wrote: >> I see how this may work for strings and simple vectors, but what = about this: >>=20 >> $a =3D array(-1 =3D> "foo", -2 =3D> "bar"); echo $a[-1]; >>=20 >> It should keep returning "foo", right? So then the question is - what >> $array[-1] actually means?=20 >=20 > Context would be the deciding factor, i.e. perhaps restrict the = shortcut's applicability to only a positive sequence of numbers for an = indexed array's keys, as follows: >=20 > $a =3D array(10 =3D> "pen", 11 =3D> "heaven");=20 > echo $a[-1]; // "heaven"=20 You clearly haven't thought this through. What if my code wants to check = for the existance of an array index "-1", and it doesn't know what kind = of array gets passed in? For an index "-1", a value would exist, and for = a "sequential" array, it would exist as well. This is an insane can of worms. --Apple-Mail=_A3D11007-9761-4AF4-A3A8-91A4BE3870C8 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIMZDCCBW4w ggRWoAMCAQICEHZN9tag+a/nmqmhleqG1JswDQYJKoZIhvcNAQEFBQAwgd0xCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y azE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEg KGMpMDkxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUGA1UEAxMuVmVyaVNpZ24g Q2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHMzAeFw0xMTEwMTEwMDAwMDBaFw0x MjEwMTQyMzU5NTlaMIIBGzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9S UEEgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTgxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZh bGlkYXRlZDEzMDEGA1UECxMqRGlnaXRhbCBJRCBDbGFzcyAxIC0gTmV0c2NhcGUgRnVsbCBTZXJ2 aWNlMRUwEwYDVQQDFAxEYXZpZCBadWVsa2UxKzApBgkqhkiG9w0BCQEWHGRhdmlkLnp1ZWxrZUBi aXRleHRlbmRlci5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCiHStz8IVhSzJJ dsl6C45etX3/gIHeNE+ELdjgFdXEafdfJZapaPcAhD98iRef3lXcJ8sOXLkpLReYlgzGDLtx9Xl3 PS2i175JnCrXyMblxFt873cpN4lJGE7AjzXEi7ytDyQB3KQAng5+nhEHHTfvpC1R0fdonMdfEO28 OxOwtj8gCyf+M6qCv93o5UbYxQAidnbiURyYkebf4GT1yFQ7Jhd1zf0vtfyZc87NLYAHIdoHvmgk JKHaSq6tV+TD+vg9DjSx+X9u+tXwvPfBVRPNvTMcZcxv2ZmJnIlluzAs5IqszDnJthIrdAXDbGgt msQaFDt+jqE+rqFTJAK8dEQ/AgMBAAGjgegwgeUwCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CG SAGG+EUBBxcBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwCwYD VR0PBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjAUBgpghkgBhvhFAQYHBAYW BE5vbmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2luZGMxZGlnaXRhbGlkLWczLWNybC52ZXJp c2lnbi5jb20vSW5kQzFEaWdpdGFsSUQtRzMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQBzHFbW+Y9q Y1oP3BMWRXbrRCYj27gAFIKaguIC1H35VySeHeey75JxNVHEdeYY1vFtCHErka7CLPXvlS4CsfSr /L51ulDUIiCkwMA4l4ngofuK/Bejae3l0uOOsuqKu8kqPSEv3pkX9SLhjOZimwgvhaBPJYjtrPum ND5qSt7RIXHIFvXHc19ditLLsO8+S+KQ2L9sG+V97TfL6OHLKdN5GwztajIXSQ7CYP5FL4rFoz/9 ELFfiHttPWxTsLeoqBC2L2PvZvT/Ydvwx4gGYA8rgDv2hk7Cs39791y1Q799xp7QcrlR9q+UzEOR jqO5qq9FGvDJJ+AwfwPYKG+6qlyVMIIG7jCCBdagAwIBAgIQcRVmBUrkkSFN6bxE+azT3DANBgkq hkiG9w0BAQUFADCByjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYD VQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMTk5OSBWZXJpU2lnbiwg SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAx IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzMwHhcNMDkwNTAxMDAw MDAwWhcNMTkwNDMwMjM1OTU5WjCB3TELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ bmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1 c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwOTEeMBwGA1UECxMVUGVyc29u YSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5WZXJpU2lnbiBDbGFzcyAxIEluZGl2aWR1YWwgU3Vi c2NyaWJlciBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7cRH3yooHXwG a7vXITLJbBOP6bGNQU4099oL42r6ZYggCxET6ZvgSU6Lb9UB0F8NR5GKWkx0Pj/GkQm7TDSejW6h glFi92l2WJYHr54UGAdPWr2f0jGyVBlzRmoZQhHsEnMhjfXcMM3l2VYKMcU2bSkUl70t2olHGYjY SwQ967Y8Zx50ABMN0Ibak2f4MwOuGjxraXj2wCyO4YM/d/mZ//6fUlrCtIcK2GypR8FUKWVDPkrA lh/Brfd3r2yxBF6+wbaULZeQLSfSux7pg2qE9sSyriMGZSalJ1grByK0b6ZiSBp38tVQJ5op05b7 KPW6JHZi44xZ6/tu1ULEvkHH9QIDAQABo4ICuTCCArUwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUF BzABhhhodHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wEgYDVR0TAQH/BAgwBgEB/wIBADBwBgNVHSAE aTBnMGUGC2CGSAGG+EUBBxcBMFYwKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv bS9jcHMwKgYIKwYBBQUHAgIwHhocaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYTA0BgNVHR8E LTArMCmgJ6AlhiNodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2ExLWczLmNybDAOBgNVHQ8BAf8E BAMCAQYwbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQU S2u5KJYGDLvQUjibKaxLB4shBRgwJhYkaHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEu Z2lmMC4GA1UdEQQnMCWkIzAhMR8wHQYDVQQDExZQcml2YXRlTGFiZWw0LTIwNDgtMTE4MB0GA1Ud DgQWBBR5R2EIQf04BKJL57XM9UP2SSsR+DCB8QYDVR0jBIHpMIHmoYHQpIHNMIHKMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5l dHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQg dXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkgLSBHM4IRAItbdVaEVIULAM+vOEjOsaQwDQYJKoZIhvcNAQEFBQAD ggEBADlNz0GZgbWpBbVSOOk5hIls5DSoWufYbAlMJBq6WaSHO3Mh8ZOBz79oY1pn/jWFK6HDXaNK wjoZ3TDWzE3v8dKBl8pUWkO/N4t6jhmND0OojPKvYLMVirOVnDzgnrMnmKQ1chfl/Cpdh9OKDcLR RSr4wPSsKpM61a4ScAjr+zvid+zoK2Q1ds262uDRyxTWcVibvtU+fbbZ6CTFJGZMXZEfdrMXPn8N xiGJL7M3uKH/XLJtSd5lUkL7DojS7Uodv0vj+Mxy+kgOZY5JyNb4mZg7t5Q+MXEGh/psWVMu198r 7V9jAKwV7QO4VRaMxmgD5yKocwuxvKDaUljdCg5/wYIxggSLMIIEhwIBATCB8jCB3TELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t L3JwYSAoYykwOTEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5WZXJp U2lnbiBDbGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEczAhB2TfbWoPmv55qpoZXq htSbMAkGBSsOAwIaBQCgggJtMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkF MQ8XDTEyMDkwMzAxMDIwNVowIwYJKoZIhvcNAQkEMRYEFKZ3ICRYqeJABKuyRhOANdo49xEhMIIB AwYJKwYBBAGCNxAEMYH1MIHyMIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVz ZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA5MR4wHAYDVQQLExVQZXJzb25h IE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJz Y3JpYmVyIENBIC0gRzMCEHZN9tag+a/nmqmhleqG1JswggEFBgsqhkiG9w0BCRACCzGB9aCB8jCB 3TELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln biBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVy aXNpZ24uY29tL3JwYSAoYykwOTEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYD VQQDEy5WZXJpU2lnbiBDbGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEczAhB2TfbW oPmv55qpoZXqhtSbMA0GCSqGSIb3DQEBAQUABIIBAABGrFJ02FLs53JPGZcWr4su7ENiQcJWSTTK aCktbrs6dm/EtQc8NjmZCPq0GojnuexxcbfHv9/TcZmYWGHda/nFjjHHO6+egxqxc+QuLqfduOPt rFZY/h27Ef0gRUg+U0Co3eEtTSu3NQvdKXvwTr42Qt86bNFEEGk4YurHjfUqz/tGENY0EecaH41j 0zZ+JW5jtVshVoMzhdJLVhAmU6YNCflU9opwf6S1VeLBDKQp4y7AdnNqatOMqTi2qH7uBzccYm/p hNGH+A2iajgwI+pJE0WhO+0jCb6Gv9x1yeW5tAG8J4To4mu1Jmz/s0uX2/ci9JlrpC0+nAyJOMYM rFYAAAAAAAA= --Apple-Mail=_A3D11007-9761-4AF4-A3A8-91A4BE3870C8--