code: public function offsetSet($offset, $value)
      {
          if ($offset === false) {
              $this->falseValue      = $value;
              $this->falseValueIsSet = true;
          } elseif ($offset === true) {
              $this->trueValue      = $value;
              $this->trueValueIsSet = true;
          } elseif (is_int($offset) || is_string($offset)) {
              $this->standardStore[$offset] = $value;
          } elseif (is_float($offset)) {
              $this->floatStore[(string) $offset] = $value;
          } elseif (is_object($offset)) {
              $this->objectStore[$offset] = $value;
          } elseif (is_array($offset)) {
              $this->arrayKeys[]   = $offset;
              $this->arrayValues[] = $value;
          } elseif ($offset === null) {
              $this->nullValue      = $value;
              $this->nullValueIsSet = true;
          } else {
              throw new InvalidArgumentException('Unexpected offset type: ' . Utils::printSafe($offset));
          }
      }
docs: Offset to set
  
  @link http://php.net/manual/en/arrayaccess.offsetset.php
  
  @param mixed $offset <p>
  The offset to assign the value to.
  </p>
  @param mixed $value  <p>
  The value to set.
  </p>
  
  @return void