News 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

Zend PHP Certification Blog: PHP Sorting Functions

David Coallier's Blog: PHP Namespaces (Part 1: Basic usage & gotchas)

David Otton's Blog: php://memory, Unit Tests

Paul Jones' Blog: Memory Leaks With Objects in PHP 5

Andrew Martin's Blog: Serving PHP session files from a RAM based disk (tmpfs) for AWS Micro Instance


Community Events





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


symfony opinion podcast series package zendserver interview introduction library bugfix version api laravel community release deployment update unittest language framework

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