News Feed
Jobs Feed
Sections




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

Matt Farina's Blog:
SplFixedArray, An Underutilized PHP Gem
September 09, 2011 @ 10:43:11

Matt Farina has a new post today looking at an "underutilized gem" he's found in the offerings of the Standard PHP Library (SPL) - the SplFixedArray.

Arrays in PHP are not arrays per the typical array data type. Instead, as Matt Butcher recently pointed out arrays in PHP are similar to hashes in other languages. This can be a very important point to know when tracking down bugs in code and to programmers coming to PHP from other languages. But, what if we wanted something like a traditional array data type? Maybe something that preserved numeric order. Enter SplFixedArray.

He gives an example of using the SplFixedArray object versus the normal array variables in a simple PHP snippet showing the preservation of numbering order. He also touches on the memory consumption difference between the two, with the fixed array coming in quite a bit lower than the normal array data type (around 25% based on his basic testing). There are some catches to using it, though including incompatibility with array methods and the fact that it doesn't implement things like Iterator or Countable interfaces.

1 comment voice your opinion now!
splfixedarray array replacement issues performance memory usage


blog comments powered by Disqus

Similar Posts

PHPBuilder.com: Introduction to Arrays and Hashes in PHP - The ABC's of PHP Part 7

SitePoint PHP Blog: High-Performance String Concatenation in PHP

PHPro.org: SPL AppendIterator

Richard Davey's Blog: Interesting memory use with GD images

Sebastian Bergmann's Blog: Who Uses PHPUnit?


Community Events











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


introduction podcast dependency package code framework hhvm component symfony2 application hack opinion series install release facebook security language unittest composer

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