original_string: protected function arrayGet(&$source, $key, $default = null)
      {
          if (!$key) {
              return $default;
          }
  
          if (array_key_exists($key, $source)) {
              return $source[$key];
          }
  
          $current =& $source;
          foreach (explode('.', $key) as $segment) {
              if (!array_key_exists($segment, $current)) {
                  return $default;
              }
              $current =& $current[$segment];
          }
  
          return $current;
      }
code: protected function arrayGet(&$source, $key, $default = null)
      {
          if (!$key) {
              return $default;
          }
  
          if (array_key_exists($key, $source)) {
              return $source[$key];
          }
  
          $current =& $source;
          foreach (explode('.', $key) as $segment) {
              if (!array_key_exists($segment, $current)) {
                  return $default;
              }
              $current =& $current[$segment];
          }
  
          return $current;
      }
code_tokens: protected function arrayGet ( & $ source , $ key , $ default = null ) { if ( ! $ key ) { return $ default ; } if ( array_key_exists ( $ key , $ source ) ) { return $ source [ $ key ] ; } $ current = & $ source ; foreach ( explode ( '.' , $ key ) as $ segment ) { if ( ! array_key_exists ( $ segment , $ current ) ) { return $ default ; } $ current = & $ current [ $ segment ] ; } return $ current ; }
docstring: Get a key value, using dot notation
  
  @param  array  &$source
  @param  string $key
  @param  mixed  $default
  
  @return mixed
docstring_tokens: Get a key value using dot notation