PHP parse_ini_string()
函数用于将INI字符串解析为一个关联数组。
使用该函数可以解析一些配置文件的信息,比如数据库配置。
该函数和parse_ini_file() 函数 相似,只不过它是解析字符串。
语法
parse_ini_string(str,process_sections)
参数
参数 | 说明 | 必须/可选 |
str | 要解析的字符串 | 必须 |
process_sections | 默认是 FALSE。如果设置为 TRUE,则返回一个多维数组,它是一个key value值。 | 可选 |
例子
代码为:
<?php
$str = "[mysql]
host=127.0.0.1
dbname=yxjc123
user=root
passwd=root
[wxconfig]
appid=123456
appsecret=12345678 ";
$data = parse_ini_string($str);
var_dump($data);
?>
输出:array(6) {
'host' =>
string(9) "127.0.0.1"
'dbname' =>
string(7) "yxjc123"
'user' =>
string(4) "root"
'passwd' =>
string(4) "root"
'appid' =>
string(6) "123456"
'appsecret' =>
string(9) "12345678 "
}
'host' =>
string(9) "127.0.0.1"
'dbname' =>
string(7) "yxjc123"
'user' =>
string(4) "root"
'passwd' =>
string(4) "root"
'appid' =>
string(6) "123456"
'appsecret' =>
string(9) "12345678 "
}
该配置文件有多个配置项,所以这里将第二个参数配置为true更好一点,如下:
<?php
$str = "[mysql]
host=127.0.0.1
dbname=yxjc123
user=root
passwd=root
[wxconfig]
appid=123456
appsecret=12345678 ";
$data = parse_ini_string($str, true);
var_dump($data);
?>
相应地,输出结果如下:array(2) {
'mysql' =>
array(4) {
'host' =>
string(9) "127.0.0.1"
'dbname' =>
string(7) "yxjc123"
'user' =>
string(4) "root"
'passwd' =>
string(4) "root"
}
'wxconfig' =>
array(2) {
'appid' =>
string(6) "123456"
'appsecret' =>
string(9) "12345678 "
}
}
'mysql' =>
array(4) {
'host' =>
string(9) "127.0.0.1"
'dbname' =>
string(7) "yxjc123"
'user' =>
string(4) "root"
'passwd' =>
string(4) "root"
}
'wxconfig' =>
array(2) {
'appid' =>
string(6) "123456"
'appsecret' =>
string(9) "12345678 "
}
}