Kategorien
PHP

PHP performante Array Operationen mit SplFixedArray

Seit PHP 5.3. gibt es Arrays mit fixer Länge names SplFixedArray (wie in Java und anderen Sprachen), die performanter oder gleich performant sind in den meisten Operationen wie

  • lesen
  • einfügen
  • auslesen

Details zu den Performance Vorteilen inklusive Tests gibt es auf diesem Blog.

Im folgendes Beispiel habe ich die neue Datenstruktur benutzt und bin zu enormen Performancegewinnen gekommen:

function  activeRecordAttributeToArrayFastMemory($objects, $attributeName)
{
    $size = count($objects);
        $array = new SplFixedArray($size);
        for($i = 0; $i < $size; $i++)
        {
            $array[$i] = $objects[$i]->$attributeName;
        }
    $returnArray = $array->toArray();
    return $returnArray;
}