original_string: protected function arrayHasKey(&$source, $key)
      {
          if (!$key || !is_array($source)) {
              return false;
          }
  
          if (array_key_exists($key, $source)) {
              return true;
          }
  
          $current =& $source;
          foreach (explode('.', $key) as $segment) {
              if (!array_key_exists($segment, $current)) {
                  return false;
              }
              $current =& $current[$segment];
          }
  
          return true;
      }
code: protected function arrayHasKey(&$source, $key)
      {
          if (!$key || !is_array($source)) {
              return false;
          }
  
          if (array_key_exists($key, $source)) {
              return true;
          }
  
          $current =& $source;
          foreach (explode('.', $key) as $segment) {
              if (!array_key_exists($segment, $current)) {
                  return false;
              }
              $current =& $current[$segment];
          }
  
          return true;
      }
code_tokens: protected function arrayHasKey ( & $ source , $ key ) { if ( ! $ key || ! is_array ( $ source ) ) { return false ; } if ( array_key_exists ( $ key , $ source ) ) { return true ; } $ current = & $ source ; foreach ( explode ( '.' , $ key ) as $ segment ) { if ( ! array_key_exists ( $ segment , $ current ) ) { return false ; } $ current = & $ current [ $ segment ] ; } return true ; }
docstring: Check if a key exists, using dot notation
  
  @param  array  &$source
  @param  string $key
  
  @return boolean
docstring_tokens: Check if a key exists using dot notation