Php parse_ini_文件将数值转换为字符串
我使用php命令Php parse_ini_文件将数值转换为字符串,php,string,parsing,numeric,Php,String,Parsing,Numeric,我使用php命令parse_ini_file加载应用程序的配置。 看看php,这里有一个例子,它看起来像是,数字值被排除在外,使用那些没有引号的“。 所以我使用了这样一个init文件: arr[] = 1 arr[] = 2 arr[] = "string" integer_value = 3 使用 $init=parse_ini_文件('myConfig.ini',0); 我得到以下结果(var_dump($init);): 是否有方法将整数值作为整数而不是字符串处理,以获得以下结果: ar
parse_ini_file
加载应用程序的配置。
看看php,这里有一个例子,它看起来像是,数字值被排除在外,使用那些没有引号的“
。
所以我使用了这样一个init文件:
arr[] = 1
arr[] = 2
arr[] = "string"
integer_value = 3
使用$init=parse_ini_文件('myConfig.ini',0);
我得到以下结果(var_dump($init);
):
是否有方法将整数值作为整数而不是字符串处理,以获得以下结果:
array(2) {
["arr"]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
string(6) "string"
}
["integer_value"]=>
int(3)
}
文档没有说明返回相应类型的选项值的任何内容。事实上,它们应该是普通情况下的字符串。(但是,如果需要,您可以检查此项)。相反,您可以通过以下方式应用简单回调:
-检查这个。有点老了,但是对于这些天来这里的其他人来说: 从PHP 5.6.1开始,[参数$scanner\u mode]也可以指定为INI\u scanner\u TYPED。在此模式下,布尔值、空值和整数类型尽可能保留。字符串值“true”、“on”和“yes”被转换为true。“false”、“off”、“no”和“none”被视为false。“null”“在类型化模式下转换为NULL。此外,如果可能,所有数字字符串都将转换为整数类型
来源:您使用的是什么版本的PHP?@Blender PHP版本5.3.8谢谢:我喜欢您的脚本:它很简单,而且可以完成任务。:-)
array(2) {
["arr"]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
string(6) "string"
}
["integer_value"]=>
int(3)
}
$array = ["arr"=>["0", "1", "2"], "integer_value"=>"3", "float_value"=>"-0.5"];
array_walk_recursive($array, function(&$value, $key)
{
if(is_numeric($value))
{
$value = (string)((int)$value)===$value
?(int)$value
:(double)$value;
}
});