
- PHP - Home
- PHP - Roadmap
- PHP - Introduction
- PHP - Installation
- PHP - History
- PHP - Features
- PHP - Syntax
- PHP - Hello World
- PHP - Comments
- PHP - Variables
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ and $$ Variables
- PHP - Constants
- PHP - Magic Constants
- PHP - Data Types
- PHP - Type Casting
- PHP - Type Juggling
- PHP - Strings
- PHP - Boolean
- PHP - Integers
- PHP - Files & I/O
- PHP - Maths Functions
- PHP - Heredoc & Nowdoc
- PHP - Compound Types
- PHP - File Include
- PHP - Date & Time
- PHP - Scalar Type Declarations
- PHP - Return Type Declarations
- PHP - Operators
- PHP - Arithmetic Operators
- PHP - Comparison Operators
- PHP - Logical Operators
- PHP - Assignment Operators
- PHP - String Operators
- PHP - Array Operators
- PHP - Conditional Operators
- PHP - Spread Operator
- PHP - Null Coalescing Operator
- PHP - Spaceship Operator
- PHP Control Statements
- PHP - Decision Making
- PHP - If…Else Statement
- PHP - Switch Statement
- PHP - Loop Types
- PHP - For Loop
- PHP - Foreach Loop
- PHP - While Loop
- PHP - Do…While Loop
- PHP - Break Statement
- PHP - Continue Statement
- PHP Arrays
- PHP - Arrays
- PHP - Indexed Array
- PHP - Associative Array
- PHP - Multidimensional Array
- PHP - Array Functions
- PHP - Constant Arrays
- PHP Functions
- PHP - Functions
- PHP - Function Parameters
- PHP - Call by value
- PHP - Call by Reference
- PHP - Default Arguments
- PHP - Named Arguments
- PHP - Variable Arguments
- PHP - Returning Values
- PHP - Passing Functions
- PHP - Recursive Functions
- PHP - Type Hints
- PHP - Variable Scope
- PHP - Strict Typing
- PHP - Anonymous Functions
- PHP - Arrow Functions
- PHP - Variable Functions
- PHP - Local Variables
- PHP - Global Variables
- PHP Superglobals
- PHP - Superglobals
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP File Handling
- PHP - File Handling
- PHP - Open File
- PHP - Read File
- PHP - Write File
- PHP - File Existence
- PHP - Download File
- PHP - Copy File
- PHP - Append File
- PHP - Delete File
- PHP - Handle CSV File
- PHP - File Permissions
- PHP - Create Directory
- PHP - Listing Files
- Object Oriented PHP
- PHP - Object Oriented Programming
- PHP - Classes and Objects
- PHP - Constructor and Destructor
- PHP - Access Modifiers
- PHP - Inheritance
- PHP - Class Constants
- PHP - Abstract Classes
- PHP - Interfaces
- PHP - Traits
- PHP - Static Methods
- PHP - Static Properties
- PHP - Namespaces
- PHP - Object Iteration
- PHP - Encapsulation
- PHP - Final Keyword
- PHP - Overloading
- PHP - Cloning Objects
- PHP - Anonymous Classes
- PHP Web Development
- PHP - Web Concepts
- PHP - Form Handling
- PHP - Form Validation
- PHP - Form Email/URL
- PHP - Complete Form
- PHP - File Inclusion
- PHP - GET & POST
- PHP - File Uploading
- PHP - Cookies
- PHP - Sessions
- PHP - Session Options
- PHP - Sending Emails
- PHP - Sanitize Input
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash Messages
- PHP AJAX
- PHP - AJAX Introduction
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML
- PHP - XML Introduction
- PHP - Simple XML Parser
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Login Example
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP Advanced
- PHP - MySQL
- PHP.INI File Configuration
- PHP - Array Destructuring
- PHP - Coding Standard
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Try…Catch
- PHP - Bugs Debugging
- PHP - For C Developers
- PHP - For PERL Developers
- PHP - Frameworks
- PHP - Core PHP vs Frame Works
- PHP - Design Patterns
- PHP - Filters
- PHP - JSON
- PHP - Exceptions
- PHP - Special Types
- PHP - Hashing
- PHP - Encryption
- PHP - is_null() Function
- PHP - System Calls
- PHP - HTTP Authentication
- PHP - Swapping Variables
- PHP - Closure::call()
- PHP - Filtered unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - Expectations
- PHP - Use Statement
- PHP - Integer Division
- PHP - Deprecated Features
- PHP - Removed Extensions & SAPIs
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI Process
- PHP - PDO Extension
- PHP - Built-In Functions
PHP xml_parser_free() Function
The PHP XML Parser xml_parser_free() function is used to free memory used by an XML parser. The xml_parser_create() method is used to create this parser. After working with the XML data, you can release resources by using xml_parser_free(). It prevents wasted memory, which speeds up the way your app is functioning. This function accepts the parser object as input and is easy to use.
Note: Prior to PHP 8.0.0, in order to prevent memory leaks, it was required to manually unset the reference to parser in addition to calling xml_parser_free() when the parsing process was complete. This was done in case the parser resource was referenced from an object and this object referred the parser resource.
Syntax
Below is the syntax of the PHP XML Parser xml_parser_free() function −
bool xml_parser_free ( XMLParser $xml_parser )
Parameters
This function accepts $xml_parser parameter which is a reference to the XML parser to free.
Return Value
The xml_parser_free() function returns TRUE on success. And FALSE on failure.
PHP Version
Introduced in core PHP 4, the xml_parser_free() function works well with PHP 5, PHP 7, and PHP 8.
Example 1
Here is the basic example of the PHP XML Parser xml_parser_free() function. In this example we will create an XML parser to perform no operations and then frees the parser with the help of xml_parser_free() to show the usage.
<?php // Create an XML parser $parser = xml_parser_create(); // Free the XML parser if (xml_parser_free($parser)) { echo "Parser memory has been freed successfully!"; } else { echo "Failed to free parser memory."; } ?>
Output
Here is the outcome of the following code −
Parser memory has been freed successfully!
Example 2
In the below PHP code we will try to use the xml_parser_free() function. And this program parses a basic XML string with the help of xml_parse(). Then checks for successful parsing and frees the parser memory after performing the operation.
<?php // Create an XML parser $parser = xml_parser_create(); // Define a simple XML string $xmlData = "<root><item>Sample Data</item></root>"; // Parse the XML data if (xml_parse($parser, $xmlData)) { echo "XML parsed successfully!"; } else { echo "Failed to parse XML."; } // Free the XML parser xml_parser_free($parser); ?>
Output
This will generate the below output −
XML parsed successfully!
Example 3
Now we will try to handle the errors which can be occurred before using the xml_parser_free() function. So the below code, parses an invalid XML string and find errors using xml_get_error_code(). Then displays an error message if parsing fails. At last if frees the parser.
<?php // Create an XML parser $parser = xml_parser_create(); // Define an incorrect XML string $xmlData = "<root><item>Sample Data</item>"; // Parse the XML data if (!xml_parse($parser, $xmlData)) { echo "Error in parsing XML: " . xml_error_string(xml_get_error_code($parser)); } else { echo "XML parsed successfully!"; } // Free the XML parser xml_parser_free($parser); ?>
Output
This will create the below output −
XML parsed successfully!