Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:31583 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37767 invoked by uid 1010); 15 Aug 2007 14:59:59 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 37752 invoked from network); 15 Aug 2007 14:59:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Aug 2007 14:59:59 -0000 Authentication-Results: pb1.pair.com smtp.mail=hannes.magnusson@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=hannes.magnusson@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.198.189 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: hannes.magnusson@gmail.com X-Host-Fingerprint: 209.85.198.189 rv-out-0910.google.com Received: from [209.85.198.189] ([209.85.198.189:29283] helo=rv-out-0910.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 13/D2-13383-CE413C64 for ; Wed, 15 Aug 2007 10:59:57 -0400 Received: by rv-out-0910.google.com with SMTP id k15so1790967rvb for ; Wed, 15 Aug 2007 07:59:53 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; b=BfGfsNcJa4qJxo++JMZ+fXooFOYlOn0WUF4dYf6F3yPrrFAPdCWy2UHTGI1IRXY+GMgwfErP1KbcsqWu21+gbC3KBNpm/e/I/Aj89+WGuxw2NNuIpFbH+jwJ8KuXtaAz+ubFR2Mpm5rYat9FAWhuY5eRSPT1yHE3qqYmIwrQRCg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=U9wmdkfyyY3FmxQ6aYYPok9ihg7o8oXZkYpEgJIqFONJMyD6R17AICYMBHTtV3dPrN5Z7FCbMWEezN8StjsTCyrKdl25KTBqfD1N+EBUF2LWWlu7o3MwU1UrnD1gMXwmf4eNVk4Bf1Yiun6G+C4L/AXtFYNbU2ylvbctk9RoOU0= Received: by 10.141.85.13 with SMTP id n13mr215359rvl.1187189992920; Wed, 15 Aug 2007 07:59:52 -0700 (PDT) Received: by 10.140.252.15 with HTTP; Wed, 15 Aug 2007 07:59:52 -0700 (PDT) Message-ID: <7f3ed2c30708150759p56b99921v1f589dcc107e743d@mail.gmail.com> Date: Wed, 15 Aug 2007 16:59:52 +0200 To: "PHP Development" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_13226_32522861.1187189992895" Subject: [PATCH] New parameter for in_array() & array_search() From: hannes.magnusson@gmail.com ("Hannes Magnusson") ------=_Part_13226_32522861.1187189992895 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi all Attached* is a patch introducing a new parameter to in_array() and array_search() which will set the internal pointer to the first location of $needle in the $haystack (granted that $needle exists within the $haystack). This will make it possible to search for a value in an array and then run prev()/next() on the array to get the next/previous sibling. I'd like to commit this after 5.2.4 has been released if there are no objections? -Hannes * In case it doesn't come through: http://home.nith.no/~maghan/keeppos/ ------=_Part_13226_32522861.1187189992895 Content-Type: text/x-diff; name=keeppos.patch; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_f5dxmxzd Content-Disposition: attachment; filename="keeppos.patch" SW5kZXg6IGV4dC9zdGFuZGFyZC9iYXNpY19mdW5jdGlvbnMuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl OiAvcmVwb3NpdG9yeS9waHAtc3JjL2V4dC9zdGFuZGFyZC9iYXNpY19mdW5jdGlvbnMuYyx2CnJl dHJpZXZpbmcgcmV2aXNpb24gMS43MjUuMi4zMS4yLjU5CmRpZmYgLXUgLXAgLXIxLjcyNS4yLjMx LjIuNTkgYmFzaWNfZnVuY3Rpb25zLmMKLS0tIGV4dC9zdGFuZGFyZC9iYXNpY19mdW5jdGlvbnMu YwkxOSBKdWwgMjAwNyAxNTo0OTo0NSAtMDAwMAkxLjcyNS4yLjMxLjIuNTkKKysrIGV4dC9zdGFu ZGFyZC9iYXNpY19mdW5jdGlvbnMuYwkxNSBBdWcgMjAwNyAxMzozODoxMSAtMDAwMApAQCAtMzYy LDYgKzM2Miw3IEBAIFpFTkRfQkVHSU5fQVJHX0lORk9fRVgoYXJnaW5mb19pbl9hcnJheSwKIAla RU5EX0FSR19JTkZPKDAsIG5lZWRsZSkKIAlaRU5EX0FSR19JTkZPKDAsIGhheXN0YWNrKSAvKiBB UlJBWV9JTkZPKDAsIGhheXN0YWNrLCAwKSAqLwogCVpFTkRfQVJHX0lORk8oMCwgc3RyaWN0KQor CVpFTkRfQVJHX0lORk8oMCwga2VlcHBvcykKIFpFTkRfRU5EX0FSR19JTkZPKCkKIAogc3RhdGlj CkBAIC0zNjksNiArMzcwLDcgQEAgWkVORF9CRUdJTl9BUkdfSU5GT19FWChhcmdpbmZvX2FycmF5 X3NlYQogCVpFTkRfQVJHX0lORk8oMCwgbmVlZGxlKQogCVpFTkRfQVJHX0lORk8oMCwgaGF5c3Rh Y2spIC8qIEFSUkFZX0lORk8oMCwgaGF5c3RhY2ssIDApICovCiAJWkVORF9BUkdfSU5GTygwLCBz dHJpY3QpCisJWkVORF9BUkdfSU5GTygwLCBrZWVwcG9zKQogWkVORF9FTkRfQVJHX0lORk8oKQog CiBzdGF0aWMKSW5kZXg6IGV4dC9zdGFuZGFyZC9hcnJheS5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6 IC9yZXBvc2l0b3J5L3BocC1zcmMvZXh0L3N0YW5kYXJkL2FycmF5LmMsdgpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMzA4LjIuMjEuMi4zMgpkaWZmIC11IC1wIC1yMS4zMDguMi4yMS4yLjMyIGFycmF5 LmMKLS0tIGV4dC9zdGFuZGFyZC9hcnJheS5jCTEwIEF1ZyAyMDA3IDEyOjE3OjI2IC0wMDAwCTEu MzA4LjIuMjEuMi4zMgorKysgZXh0L3N0YW5kYXJkL2FycmF5LmMJMTUgQXVnIDIwMDcgMTM6Mzg6 MTEgLTAwMDAKQEAgLTEyMTAsMTcgKzEyMTAsMTkgQEAgc3RhdGljIHZvaWQgcGhwX3NlYXJjaF9h cnJheShJTlRFUk5BTF9GVQogIAl6dmFsICoqdmFsdWUsCQkJCS8qIHZhbHVlIHRvIGNoZWNrIGZv ciAqLwogCQkgKiphcnJheSwJCQkJLyogYXJyYXkgdG8gY2hlY2sgaW4gKi8KIAkJICoqc3RyaWN0 LAkJCQkvKiBzdHJpY3QgY29tcGFyaXNvbiBvciBub3QgKi8KKwkJICoqel9rcG9zLAkJCQkvKiBw b3NpdGlvbiB0aGUgaW50ZXJuYWwgcG9pbnRlciBhdCB0aGUgZm91bmQgbG9jYXRpb24gKi8KIAkJ ICoqZW50cnksCQkJCS8qIHBvaW50ZXIgdG8gYXJyYXkgZW50cnkgKi8KIAkJICByZXM7CQkJCQkv KiBjb21wYXJpc29uIHJlc3VsdCAqLwogCUhhc2hUYWJsZSAqdGFyZ2V0X2hhc2g7CQkvKiBhcnJh eSBoYXNodGFibGUgKi8KIAlIYXNoUG9zaXRpb24gcG9zOwkJCS8qIGhhc2ggaXRlcmF0b3IgKi8K Kwl6ZW5kX2Jvb2wga3BvcyA9IDA7CiAgICAJdWxvbmcgbnVtX2tleTsKIAl1aW50IHN0cl9rZXlf bGVuOwogICAgCWNoYXIgKnN0cmluZ19rZXk7CiAJaW50ICgqaXNfZXF1YWxfZnVuYykoenZhbCAq LCB6dmFsICosIHp2YWwgKiBUU1JNTFNfREMpID0gaXNfZXF1YWxfZnVuY3Rpb247CiAKLQlpZiAo WkVORF9OVU1fQVJHUygpIDwgMiB8fCBaRU5EX05VTV9BUkdTKCkgPiAzIHx8Ci0JCXplbmRfZ2V0 X3BhcmFtZXRlcnNfZXgoWkVORF9OVU1fQVJHUygpLCAmdmFsdWUsICZhcnJheSwgJnN0cmljdCkg PT0gRkFJTFVSRSkgeworCWlmIChaRU5EX05VTV9BUkdTKCkgPCAyIHx8IFpFTkRfTlVNX0FSR1Mo KSA+IDQgfHwKKwkJemVuZF9nZXRfcGFyYW1ldGVyc19leChaRU5EX05VTV9BUkdTKCksICZ2YWx1 ZSwgJmFycmF5LCAmc3RyaWN0LCAmel9rcG9zKSA9PSBGQUlMVVJFKSB7CiAJCVdST05HX1BBUkFN X0NPVU5UOwogCX0KIApAQCAtMTIzMCwxMSArMTIzMiwxNSBAQCBzdGF0aWMgdm9pZCBwaHBfc2Vh cmNoX2FycmF5KElOVEVSTkFMX0ZVCiAJCVJFVFVSTl9GQUxTRTsKIAl9CiAKLQlpZiAoWkVORF9O VU1fQVJHUygpID09IDMpIHsKKwlpZiAoWkVORF9OVU1fQVJHUygpID49IDMpIHsKIAkJY29udmVy dF90b19ib29sZWFuX2V4KHN0cmljdCk7CiAJCWlmIChaX0xWQUxfUFAoc3RyaWN0KSkgewogCQkJ aXNfZXF1YWxfZnVuYyA9IGlzX2lkZW50aWNhbF9mdW5jdGlvbjsKIAkJfQorCQlpZiAoWkVORF9O VU1fQVJHUygpID49IDQpIHsKKwkJCWNvbnZlcnRfdG9fYm9vbGVhbl9leCh6X2twb3MpOworCQkJ a3BvcyA9IFpfQlZBTF9QUCh6X2twb3MpOworCQl9CiAJfQogCiAJdGFyZ2V0X2hhc2ggPSBIQVNI X09GKCphcnJheSk7CkBAIC0xMjQyLDYgKzEyNDgsOSBAQCBzdGF0aWMgdm9pZCBwaHBfc2VhcmNo X2FycmF5KElOVEVSTkFMX0ZVCiAJd2hpbGUgKHplbmRfaGFzaF9nZXRfY3VycmVudF9kYXRhX2V4 KHRhcmdldF9oYXNoLCAodm9pZCAqKikmZW50cnksICZwb3MpID09IFNVQ0NFU1MpIHsKIAkgCWlz X2VxdWFsX2Z1bmMoJnJlcywgKnZhbHVlLCAqZW50cnkgVFNSTUxTX0NDKTsKIAkJaWYgKFpfTFZB TChyZXMpKSB7CisJCQlpZiAoa3BvcykgeworCQkJCVpfQVJSVkFMX1BQKGFycmF5KS0+cEludGVy bmFsUG9pbnRlciA9IHBvczsKKwkJCX0KIAkJCWlmIChiZWhhdmlvciA9PSAwKSB7CQkgCiAJCQkJ UkVUVVJOX1RSVUU7CiAJCQl9IGVsc2UgewpAQCAtMTI2NCw3ICsxMjczLDcgQEAgc3RhdGljIHZv aWQgcGhwX3NlYXJjaF9hcnJheShJTlRFUk5BTF9GVQogfQogLyogfX19ICovCiAKLS8qIHt7eyBw cm90byBib29sIGluX2FycmF5KG1peGVkIG5lZWRsZSwgYXJyYXkgaGF5c3RhY2sgWywgYm9vbCBz dHJpY3RdKQorLyoge3t7IHByb3RvIGJvb2wgaW5fYXJyYXkobWl4ZWQgbmVlZGxlLCBhcnJheSBo YXlzdGFjayBbLCBib29sIHN0cmljdCBbLCBib29sIGtlZXBfcG9zPWZhbHNlXV0pCiAgICBDaGVj a3MgaWYgdGhlIGdpdmVuIHZhbHVlIGV4aXN0cyBpbiB0aGUgYXJyYXkgKi8KIFBIUF9GVU5DVElP Tihpbl9hcnJheSkKIHsKQEAgLTEyNzIsNyArMTI4MSw3IEBAIFBIUF9GVU5DVElPTihpbl9hcnJh eSkKIH0KIC8qIH19fSAqLwogCi0vKiB7e3sgcHJvdG8gbWl4ZWQgYXJyYXlfc2VhcmNoKG1peGVk IG5lZWRsZSwgYXJyYXkgaGF5c3RhY2sgWywgYm9vbCBzdHJpY3RdKQorLyoge3t7IHByb3RvIG1p eGVkIGFycmF5X3NlYXJjaChtaXhlZCBuZWVkbGUsIGFycmF5IGhheXN0YWNrIFssIGJvb2wgc3Ry aWN0IFssIGJvb2wga2VlcF9wb3M9ZmFsc2VdXSkKICAgIFNlYXJjaGVzIHRoZSBhcnJheSBmb3Ig YSBnaXZlbiB2YWx1ZSBhbmQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBrZXkgaWYgc3VjY2Vz c2Z1bCAqLwogUEhQX0ZVTkNUSU9OKGFycmF5X3NlYXJjaCkKIHsK ------=_Part_13226_32522861.1187189992895--