original_string: public static function dotGet(array $array, $key, $default = null)
      {
          if (is_null($key)) {
              return $array;
          }
  
          if (isset($array[$key])) {
              return $array[$key];
          }
  
          foreach (explode('.', $key) as $segment) {
              if (!is_array($array) || !array_key_exists($segment, $array)) {
                  return Std::thunk($default);
              }
  
              $array = $array[$segment];
          }
  
          return $array;
      }
code: public static function dotGet(array $array, $key, $default = null)
      {
          if (is_null($key)) {
              return $array;
          }
  
          if (isset($array[$key])) {
              return $array[$key];
          }
  
          foreach (explode('.', $key) as $segment) {
              if (!is_array($array) || !array_key_exists($segment, $array)) {
                  return Std::thunk($default);
              }
  
              $array = $array[$segment];
          }
  
          return $array;
      }
code_tokens: public static function dotGet ( array $ array , $ key , $ default = null ) { if ( is_null ( $ key ) ) { return $ array ; } if ( isset ( $ array [ $ key ] ) ) { return $ array [ $ key ] ; } foreach ( explode ( '.' , $ key ) as $ segment ) { if ( ! is_array ( $ array ) || ! array_key_exists ( $ segment , $ array ) ) { return Std :: thunk ( $ default ) ; } $ array = $ array [ $ segment ] ; } return $ array ; }
docstring: Get the resulting value of an attempt to traverse a key path.
  
  Each key in the path is separated with a dot.
  
  For example, the following snippet should return `true`:
  ```php
  Arr::dotGet([
  'hello' => [
  'world' => true,
  ],
  ], 'hello.world');
  ```
  
  Additionally, a default value may be provided, which will be returned if
  the path does not yield to a value.
  
  @param array $array
  @param string $key
  @param null|mixed $default
  
  @return mixed
docstring_tokens: Get the resulting value of an attempt to traverse a key path .