original_string: public function offsetUnset($key)
      {
          $keys = $this->parseKey($key);
          $array = &$this->values;
  
          while (count($keys) > 1) {
              $key = array_shift($keys);
  
              if (!isset($array[$key]) || !is_array($array[$key])) {
                  return;
              }
  
              $array =& $array[$key];
          }
  
          unset($array[array_shift($keys)]);
      }
code: public function offsetUnset($key)
      {
          $keys = $this->parseKey($key);
          $array = &$this->values;
  
          while (count($keys) > 1) {
              $key = array_shift($keys);
  
              if (!isset($array[$key]) || !is_array($array[$key])) {
                  return;
              }
  
              $array =& $array[$key];
          }
  
          unset($array[array_shift($keys)]);
      }
code_tokens: public function offsetUnset ( $ key ) { $ keys = $ this -> parseKey ( $ key ) ; $ array = & $ this -> values ; while ( count ( $ keys ) > 1 ) { $ key = array_shift ( $ keys ) ; if ( ! isset ( $ array [ $ key ] ) || ! is_array ( $ array [ $ key ] ) ) { return ; } $ array = & $ array [ $ key ] ; } unset ( $ array [ array_shift ( $ keys ) ] ) ; }
docstring: Remove nested array value based on a separated key
  @param  string  $key
docstring_tokens: Remove nested array value based on a separated key