public function getValue($object, $path)
    {
        $paths = (array) preg_split('#(\[((?>[^\[\]]+)|(?R))*\])#i', $path, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);

        for ($i = 0; $i < count($paths); ++$i) {
            $path = trim((string) $paths[$i], '.');
            if ('[' == substr($path, 0, 1)) {
                ++$i;
            }
            if (preg_match('#[^a-z0-9\.\]\[]+#i', $path)) {
                $expression = trim($path, '[]');
                $object = $this->filter($object, $expression);
            } else {
                $object = $this->accessor->getValue($object, $path);
            }

            if (null === $object) {
                break;
            }
        }

        return $object;
    }
public function getValue($object, $path)
    {
        $paths = (array) preg_split('#(\[((?>[^\[\]]+)|(?R))*\])#i', $path, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);

        for ($i = 0; $i < count($paths); ++$i) {
            $path = trim((string) $paths[$i], '.');
            if ('[' == substr($path, 0, 1)) {
                ++$i;
            }
            if (preg_match('#[^a-z0-9\.\]\[]+#i', $path)) {
                $expression = trim($path, '[]');
                $object = $this->filter($object, $expression);
            } else {
                $object = $this->accessor->getValue($object, $path);
            }

            if (null === $object) {
                break;
            }
        }

        return $object;
    }
public function getValue ( $ object , $ path ) { $ paths = ( array ) preg_split ( '#(\[((?>[^\[\]]+)|(?R))*\])#i' , $ path , - 1 , PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE ) ; for ( $ i = 0 ; $ i < count ( $ paths ) ; ++ $ i ) { $ path = trim ( ( string ) $ paths [ $ i ] , '.' ) ; if ( '[' == substr ( $ path , 0 , 1 ) ) { ++ $ i ; } if ( preg_match ( '#[^a-z0-9\.\]\[]+#i' , $ path ) ) { $ expression = trim ( $ path , '[]' ) ; $ object = $ this -> filter ( $ object , $ expression ) ; } else { $ object = $ this -> accessor -> getValue ( $ object , $ path ) ; } if ( null === $ object ) { break ; } } return $ object ; }
Returns the value at the given path.

@param mixed  $object
@param string $path

@return mixed
Returns the value at the given path .