public function parse($value): array
    {
        $headers = []; // Initialize.

        if (is_array($value) || is_object($value)) {
            foreach ($value as $_key => $_value) {
                if ($_key && is_string($_key) && is_string($_value)) {
                    $headers = array_merge($headers, $this->parse($_key.': '.$_value));
                } else {
                    $headers = array_merge($headers, $this->parse($_value));
                }
            } // unset($_key, $_value);
            return $headers; // All done here.
        }
        $string = (string) $value; // Force string.

        foreach (explode("\r\n", $string) as $_rn_delimited_header) {
            if (mb_strpos($_rn_delimited_header, ':') === false) {
                continue; // Invalid header.
            }
            list($_header, $_value) = $this->c::mbTrim(explode(':', $_rn_delimited_header, 2));

            if (!$_header || !isset($_value[0])) {
                continue; // Invalid header.
            }
            $headers[mb_strtolower($_header)] = $_value;
        } // unset($_rn_delimited_header, $_header, $_value);

        return $headers;
    }
public function parse($value): array
    {
        $headers = []; // Initialize.

        if (is_array($value) || is_object($value)) {
            foreach ($value as $_key => $_value) {
                if ($_key && is_string($_key) && is_string($_value)) {
                    $headers = array_merge($headers, $this->parse($_key.': '.$_value));
                } else {
                    $headers = array_merge($headers, $this->parse($_value));
                }
            } // unset($_key, $_value);
            return $headers; // All done here.
        }
        $string = (string) $value; // Force string.

        foreach (explode("\r\n", $string) as $_rn_delimited_header) {
            if (mb_strpos($_rn_delimited_header, ':') === false) {
                continue; // Invalid header.
            }
            list($_header, $_value) = $this->c::mbTrim(explode(':', $_rn_delimited_header, 2));

            if (!$_header || !isset($_value[0])) {
                continue; // Invalid header.
            }
            $headers[mb_strtolower($_header)] = $_value;
        } // unset($_rn_delimited_header, $_header, $_value);

        return $headers;
    }
public function parse ( $ value ) : array { $ headers = [ ] ; // Initialize. if ( is_array ( $ value ) || is_object ( $ value ) ) { foreach ( $ value as $ _key => $ _value ) { if ( $ _key && is_string ( $ _key ) && is_string ( $ _value ) ) { $ headers = array_merge ( $ headers , $ this -> parse ( $ _key . ': ' . $ _value ) ) ; } else { $ headers = array_merge ( $ headers , $ this -> parse ( $ _value ) ) ; } } // unset($_key, $_value); return $ headers ; // All done here. } $ string = ( string ) $ value ; // Force string. foreach ( explode ( "\r\n" , $ string ) as $ _rn_delimited_header ) { if ( mb_strpos ( $ _rn_delimited_header , ':' ) === false ) { continue ; // Invalid header. } list ( $ _header , $ _value ) = $ this -> c :: mbTrim ( explode ( ':' , $ _rn_delimited_header , 2 ) ) ; if ( ! $ _header || ! isset ( $ _value [ 0 ] ) ) { continue ; // Invalid header. } $ headers [ mb_strtolower ( $ _header ) ] = $ _value ; } // unset($_rn_delimited_header, $_header, $_value); return $ headers ; }
Parses headers.

@since 151121 Header utilities.

@param mixed $value Input value w/ headers.

@return array Unique/associative array of all headers.
Parses headers .