public function offsetSet( $offset, $value )
	{
		$is_offset_string = is_string( $offset );
		$is_value_string  = is_string( $value );

		/** e.g., `$obj[] = 'foo';` */
		if ( null === $offset && $is_value_string ) {
			$this->add( $value );
		}
		elseif ( is_bool( $value ) && $is_offset_string ) {
			/** e.g., `$obj['foo'] = true;` */
			if ( $value ) {
				$this->add( $offset );
			}
			/** e.g., `$obj['foo'] = false;` */
			else {
				$this->remove( $offset );
			}
		}
		elseif ( $is_offset_string && $is_value_string ) {
			/** e.g., `$obj['foo'] = 'bar';` */
			$this->replace( $offset, $value );
		}
	}
public function offsetSet( $offset, $value )
	{
		$is_offset_string = is_string( $offset );
		$is_value_string  = is_string( $value );

		/** e.g., `$obj[] = 'foo';` */
		if ( null === $offset && $is_value_string ) {
			$this->add( $value );
		}
		elseif ( is_bool( $value ) && $is_offset_string ) {
			/** e.g., `$obj['foo'] = true;` */
			if ( $value ) {
				$this->add( $offset );
			}
			/** e.g., `$obj['foo'] = false;` */
			else {
				$this->remove( $offset );
			}
		}
		elseif ( $is_offset_string && $is_value_string ) {
			/** e.g., `$obj['foo'] = 'bar';` */
			$this->replace( $offset, $value );
		}
	}
public function offsetSet ( $ offset , $ value ) { $ is_offset_string = is_string ( $ offset ) ; $ is_value_string = is_string ( $ value ) ; /** e.g., `$obj[] = 'foo';` */ if ( null === $ offset && $ is_value_string ) { $ this -> add ( $ value ) ; } elseif ( is_bool ( $ value ) && $ is_offset_string ) { /** e.g., `$obj['foo'] = true;` */ if ( $ value ) { $ this -> add ( $ offset ) ; } /** e.g., `$obj['foo'] = false;` */ else { $ this -> remove ( $ offset ) ; } } elseif ( $ is_offset_string && $ is_value_string ) { /** e.g., `$obj['foo'] = 'bar';` */ $ this -> replace ( $ offset , $ value ) ; } }
Append a token to the list and optionally remove an existing token.

@link http://php.net/manual/en/arrayaccess.offsetset.php

@param int|null        $offset The index is ignored.
@param int|string|null $value  The value to set.
Append a token to the list and optionally remove an existing token .