protected function read($chunk)
	{
		if ( ! is_string($chunk) && $chunk !== false) {
			throw new \InvalidArgumentException(
				__METHOD__."() expects parameter one, chunk, to be a string or false"
			);
		}
		
		$this->characters = [];
		
		// if $chunk is not false and not empty...
		// keep in mind, the single-byte strlen() function is ok here, I just want
		//     to be sure the string isn't empty; otherwise, the characters array
		//     will have an empty string as an element (e.g., [''])
		// also, don't use PHP's native empty() method here either; empty() will
		//     consider "0" an empty string, but it's a valid value
		//
		if (is_string($chunk) && strlen($chunk) > 0) {
			// get the chunk's length
			$len = mb_strlen($chunk, $this->chunker->getEncoding());
			// loop through the chunk's characters
			for ($i = 0; $i < $len; ++$i) {
				// append the character to the characters array...
				// I (Jack) tried using mb_split('//', $chunk) here; however, it 
				//     didn't split the string into characters as expected
				//
				$this->characters[] = mb_substr(
					$chunk, $i, 1, $this->chunker->getEncoding()
				);
			}	
		}
		
		return;
	}
protected function read($chunk)
	{
		if ( ! is_string($chunk) && $chunk !== false) {
			throw new \InvalidArgumentException(
				__METHOD__."() expects parameter one, chunk, to be a string or false"
			);
		}
		
		$this->characters = [];
		
		// if $chunk is not false and not empty...
		// keep in mind, the single-byte strlen() function is ok here, I just want
		//     to be sure the string isn't empty; otherwise, the characters array
		//     will have an empty string as an element (e.g., [''])
		// also, don't use PHP's native empty() method here either; empty() will
		//     consider "0" an empty string, but it's a valid value
		//
		if (is_string($chunk) && strlen($chunk) > 0) {
			// get the chunk's length
			$len = mb_strlen($chunk, $this->chunker->getEncoding());
			// loop through the chunk's characters
			for ($i = 0; $i < $len; ++$i) {
				// append the character to the characters array...
				// I (Jack) tried using mb_split('//', $chunk) here; however, it 
				//     didn't split the string into characters as expected
				//
				$this->characters[] = mb_substr(
					$chunk, $i, 1, $this->chunker->getEncoding()
				);
			}	
		}
		
		return;
	}
protected function read ( $ chunk ) { if ( ! is_string ( $ chunk ) && $ chunk !== false ) { throw new \ InvalidArgumentException ( __METHOD__ . "() expects parameter one, chunk, to be a string or false" ) ; } $ this -> characters = [ ] ; // if $chunk is not false and not empty... // keep in mind, the single-byte strlen() function is ok here, I just want //     to be sure the string isn't empty; otherwise, the characters array //     will have an empty string as an element (e.g., ['']) // also, don't use PHP's native empty() method here either; empty() will //     consider "0" an empty string, but it's a valid value // if ( is_string ( $ chunk ) && strlen ( $ chunk ) > 0 ) { // get the chunk's length $ len = mb_strlen ( $ chunk , $ this -> chunker -> getEncoding ( ) ) ; // loop through the chunk's characters for ( $ i = 0 ; $ i < $ len ; ++ $ i ) { // append the character to the characters array... // I (Jack) tried using mb_split('//', $chunk) here; however, it  //     didn't split the string into characters as expected // $ this -> characters [ ] = mb_substr ( $ chunk , $ i , 1 , $ this -> chunker -> getEncoding ( ) ) ; } } return ; }
Reads a chunk into the stream's characters array

@param  string|false  $chunk  the string chunk to read or false
@return  void
@since  0.2.0
Reads a chunk into the stream s characters array