lib/Psc/Doctrine/Helper.php
public static function reindex($collection, $getIndex = 'getIdentifier') {
    if (!Code::isTraversable($collection)) {
      throw new \InvalidArgumentException('$collection muss Traversable sein. '.Code::varInfo($collection));
    }
    
    $getIndex = Code::castGetter($getIndex);
    $ret = array();
    foreach ($collection as $o) {
      $ret[$getIndex($o)] = $o;
    }

    return $ret;
  }
public static function reindex($collection, $getIndex = 'getIdentifier') {
    if (!Code::isTraversable($collection)) {
      throw new \InvalidArgumentException('$collection muss Traversable sein. '.Code::varInfo($collection));
    }
    
    $getIndex = Code::castGetter($getIndex);
    $ret = array();
    foreach ($collection as $o) {
      $ret[$getIndex($o)] = $o;
    }

    return $ret;
  }
public static function reindex ( $ collection , $ getIndex = 'getIdentifier' ) { if ( ! Code :: isTraversable ( $ collection ) ) { throw new \ InvalidArgumentException ( '$collection muss Traversable sein. ' . Code :: varInfo ( $ collection ) ) ; } $ getIndex = Code :: castGetter ( $ getIndex ) ; $ ret = array ( ) ; foreach ( $ collection as $ o ) { $ ret [ $ getIndex ( $ o ) ] = $ o ; } return $ ret ; }
Organisiert die Collection mit einem neuen Index

macht eine Kopie der $collection, deshalb erstmal nur array erlaubt, bis ich weiß, was da die arraycollection macht
@param string|Closure $getIndex wenn ein Closure wird als erster Parameter das Objekt der Collection übergeben. wenn ein string ist dies der Name des Getters des indexes für das Objekt in $collection
@TODO was ist schneller:
1. $getIndex in ein Closure zu casten und dann einfach durchlaufe,
2. oder $getIndex als String zu benutzen und jedes mal in der Schleife abfragen ob $getIndex ein String oder ein Closure ist

@return array
Organisiert die Collection mit einem neuen Index