Beispiel #1
0
 /**
  * Get an associate array for the tuples of the enum where the values
  * are the array indices and the labels are the array values.
  *
  * @param string $enumString
  * @return associate array indexed by labels.
  */
 public static function getAssocArrayIndexedByValues($enumString)
 {
     if (isset(self::$_cacheAssocArrayIndexedByValues[$enumString])) {
         return self::$_cacheAssocArrayIndexedByValues[$enumString];
     }
     $tuples = MantisEnum::getArrayOfTuples($enumString);
     $tuplesCount = count($tuples);
     $assocArray = array();
     foreach ($tuples as $tuple) {
         $tupleTokens = MantisEnum::getArrayForTuple($tuple);
         # if not a proper tuple, skip.
         if (count($tupleTokens) != 2) {
             continue;
         }
         $value = (int) trim($tupleTokens[0]);
         # if already set, skip.
         if (isset($assocArray[$value])) {
             continue;
         }
         $label = trim($tupleTokens[1]);
         $assocArray[$value] = $label;
     }
     self::$_cacheAssocArrayIndexedByValues[$enumString] = $assocArray;
     return $assocArray;
 }