public function getValue() { $value = parent::getValue(); if (!$this->prependsName()) { return $value; } elseif (!strpos($this->getName(), '[')) { return isset($value[$this->getName()]) ? $value[$this->getName()] : null; } else { $tokens = explode('[', str_replace(']', '', $this->getName())); $valueAry =& $value; do { $token = array_shift($tokens); if (!isset($valueAry[$token])) { return null; } $valueAry =& $valueAry[$token]; } while ($tokens); return $valueAry; } }