public function voArray(VOArray $arrayValueObject)
    {
        if ($key = VOArray::fromArray($this->getValue())->getKey($arrayValueObject->current())) {
            return $arrayValueObject->isLast() ? $key
                : static::fromArray($key)
                    ->voArray($arrayValueObject->dropFirst());
        }

        return false;
    }
public function voArray(VOArray $arrayValueObject)
    {
        if ($key = VOArray::fromArray($this->getValue())->getKey($arrayValueObject->current())) {
            return $arrayValueObject->isLast() ? $key
                : static::fromArray($key)
                    ->voArray($arrayValueObject->dropFirst());
        }

        return false;
    }
public function voArray ( VOArray $ arrayValueObject ) { if ( $ key = VOArray :: fromArray ( $ this -> getValue ( ) ) -> getKey ( $ arrayValueObject -> current ( ) ) ) { return $ arrayValueObject -> isLast ( ) ? $ key : static :: fromArray ( $ key ) -> voArray ( $ arrayValueObject -> dropFirst ( ) ) ; } return false ; }
Iterates through an array of values and finds a key.  If it makes it to the final value,
it returns what ever value matches that key.

@param  VOArray    $arrayValueObject
@return bool|mixed
Iterates through an array of values and finds a key . If it makes it to the final value it returns what ever value matches that key .