original_string: protected function setValue($key, $value, array &$array = array())
      {
          $keys = $this->parseKey($key, $this->separator);
          $pointer = &$array;
  
          while (count($keys) > 0) {
              $key = array_shift($keys);
              $pointer[$key] = (isset($pointer[$key]) ? $pointer[$key] : array());
              $pointer = &$pointer[$key];
          }
  
          $pointer = $value;
          return $array;
      }
code: protected function setValue($key, $value, array &$array = array())
      {
          $keys = $this->parseKey($key, $this->separator);
          $pointer = &$array;
  
          while (count($keys) > 0) {
              $key = array_shift($keys);
              $pointer[$key] = (isset($pointer[$key]) ? $pointer[$key] : array());
              $pointer = &$pointer[$key];
          }
  
          $pointer = $value;
          return $array;
      }
code_tokens: protected function setValue ( $ key , $ value , array & $ array = array ( ) ) { $ keys = $ this -> parseKey ( $ key , $ this -> separator ) ; $ pointer = & $ array ; while ( count ( $ keys ) > 0 ) { $ key = array_shift ( $ keys ) ; $ pointer [ $ key ] = ( isset ( $ pointer [ $ key ] ) ? $ pointer [ $ key ] : array ( ) ) ; $ pointer = & $ pointer [ $ key ] ; } $ pointer = $ value ; return $ array ; }
docstring: Set nested array values based on a separated key
  
  @param  string  $key
  @param  mixed   $value
  @param  array   $array
  @return array
docstring_tokens: Set nested array values based on a separated key