parse_ini
array parse_ini (string initext [, bool changecase [, bool convertwords]])
Parses the initext string (which is usually read from an initialization
file) and returns
a multidimensional associative array with section names and entry values. To
generate an INI string from an array, use generate_ini().
Differences from parse_ini_file()
This function is similar to parse_ini_file(). Since the implementation
of INI files in PHP is not the same as in Windows, however, parse_ini()
has the following differences:
- The initext parameter is the string with the contents of an INI
file, not a file name.
- Sections are always processed.
- By default, the function changes the first character of all section names to
uppercase and leaves the others as lowercase, and changes all entry names to lowercase.
This behavior can be changed by setting changecase to FALSE so section
names and entries are left as they are.
- A section may have no entry identifiers. In this case, the section is
read as a numeric array.
- Double-quotes ("") may optionally be used as string delimiters,
but they are not necessary.
- The following reserved words are automatically translated into their
values, unless convertwords is set to FALSE: yes, on,
true, no, off, false, and null. Reserved
words are not case-sensitive.
- Any words (including the reserved words above) can be used as entry
identifiers.
- Constants are not parsed automatically. If you need to parse a constant,
use the constant() function.
Example
An example of a valid initext is below:
; Comments should start with ';'
[AppSettings] ; Comments are allowed after a section name ShowWindow = true Icon = 2 4 SiteURL = "http://www.hypervisual.com/winbinder" forum = http://www.hypervisual.com/winbinder/forum yes = true
[FILES] ; Entries with no identifiers are valid too "main.ico" "second#.ico" OtherFiles = off third.ico |
Calling parse_ini() using the example above and the default parameters
will return the following array:
Array ( [Appsettings] =>
Array ( [showwindow]
=> 1 [icon]
=> 2 4 [siteurl]
=> http://www.hypervisual.com/winbinder [forum]
=> http://www.hypervisual.com/winbinder/forum [yes]
=> 1 ) [Files]
=> Array ( [0]
=> main.ico [1]
=> second#.ico [otherfiles]
=> 0 [2]
=> third.ico ) )
|
See also
generate_ini
Auxiliary functions