News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Debuggable Blog:
XPath on PHP Arrays (Setextract)
September 26, 2008 @ 10:25:23

On the Debuggable blog there's an interesting post where Felix talks a bit about something I've seen requested quite a bit - a method for locating information in an array. His answer is an XPath-style query system to root out your custom information.

One of the requirements [of the original Set::extract method] was that the new method would need to be faster or at least as fast as the old implementation. My first attempts were big failures. Not only did the solutions I came up with contain tons of bugs. No, they were are also a lot slower the old extract function. A few benchmarks later and I discovered the biggest bottleneck in my implementation: Recursiveness.

He notes that no doing things recursively (not just in this situation, but ever) can help with a speed boost. In his example, a small change made all the differences and the XPath implementation in the CakePHP core makes grabbing information from any array simple.

While the implementation does not support full XPath (and probably won't in future), feel free to make suggestions on additional selectors or the idea in general.
0 comments voice your opinion now!
xpath array cakephp framework search recursion


blog comments powered by Disqus

Similar Posts

Jim Plush\'s Blog: New AJAX/PHP framework - My-BIC is LIGHT and TASTY!

SitePoint PHP Blog: 16 PHP Frameworks To Consider For Your Next Project

PHPClasses.org Blog: Book Review: Pro PHP: Patterns, Frameworks, Testing and More

Shahar Evron's Blog: Adapters of the new Zend_Http_Client

Arnold's Blog: Without a framework: (M)VC


Community Events

Don't see your event here?
Let us know!


introduction interview php7 community performance conference series framework laravel application example release opinion podcast api library install symfony2 composer configure

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework