Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-解析不同值类型的文件_Php_String_Parsing_Floating Point_Integer - Fatal编程技术网

PHP-解析不同值类型的文件

PHP-解析不同值类型的文件,php,string,parsing,floating-point,integer,Php,String,Parsing,Floating Point,Integer,出于以下几个原因,我尝试在不使用parse_ini_文件的情况下解析一个ini文件。我将文件解析完美地整合到一个多维数组中,并且能够正确地搜索所有内容。我遇到的问题是,我希望根据类型解析文件。文件中有字符串、浮点数和整数,我需要将它们存储为字符串,而不是全部存储为字符串 用户将需要能够获得存储的值,因此基本上他们将执行“使用预算键从标题部分获取浮动”,这将返回4.5。但是,如果他们试图从同一节中获取字符串或整数,则会失败。我有它可以得到的关键,但由于他们都存储为字符串,这是唯一的工作。我想知道如

出于以下几个原因,我尝试在不使用parse_ini_文件的情况下解析一个ini文件。我将文件解析完美地整合到一个多维数组中,并且能够正确地搜索所有内容。我遇到的问题是,我希望根据类型解析文件。文件中有字符串、浮点数和整数,我需要将它们存储为字符串,而不是全部存储为字符串

用户将需要能够获得存储的值,因此基本上他们将执行“使用预算键从标题部分获取浮动”,这将返回4.5。但是,如果他们试图从同一节中获取字符串或整数,则会失败。我有它可以得到的关键,但由于他们都存储为字符串,这是唯一的工作。我想知道如何将值的类型从string更改为integer或float

有人知道怎么做吗?

你可以用

PHP中的类型转换的工作原理与C中的工作原理非常相似,C是 所需的类型写在要输入的变量之前的括号中 被投下

你可以用

PHP中的类型转换的工作原理与C中的工作原理非常相似,C是 所需的类型写在要输入的变量之前的括号中 被投下


很难准确预测您所看到的价值类型。字符串可以包含数字,小数点出现在句子中,等等

如果您正在处理为自己使用而生成的自定义
ini
文件,则可以将值的类型编码到ini设置中。标准设置可能如下所示:

default_username=Zamereon
因此,您可以将数据类型附加或前置到设置-

(s)default_username=Zamereon // one character depicting the data type,
(i)default_reputation=1      // you could use strpos.

default_balance=0.5=f // use list($name,$value,$type) = explode('=',$setting)
参考-



另一个建议是将它们作为字符串保留在解析的多维数组中,并仅在实际需要时转换它们。在处理ini文件中一些输入数据的函数或代码行中,您将确切地知道需要什么样的数据类型,如果它是一个浮点型,请根据需要将其转换为浮点型。不需要立即将每个变量转换为正确的形式,因为它们的值在文本表示中不会改变在执行进一步操作之前,真正需要进行转换。

很难准确预测您所看到的值的类型。字符串可以包含数字,小数点出现在句子中,等等

如果您正在处理为自己使用而生成的自定义
ini
文件,则可以将值的类型编码到ini设置中。标准设置可能如下所示:

default_username=Zamereon
因此,您可以将数据类型附加或前置到设置-

(s)default_username=Zamereon // one character depicting the data type,
(i)default_reputation=1      // you could use strpos.

default_balance=0.5=f // use list($name,$value,$type) = explode('=',$setting)
参考-



另一个建议是将它们作为字符串保留在解析的多维数组中,并仅在实际需要时转换它们。在处理ini文件中一些输入数据的函数或代码行中,您将确切地知道需要什么样的数据类型,如果它是一个浮点型,请根据需要将其转换为浮点型。不需要立即将每个变量转换为正确的形式,因为它们的值在文本表示中不会改变在执行进一步的操作之前,真正需要进行转换。

您不能仅使用parse\u ini\u文件进行转换的原因是什么?至于能够解析类型,您可能需要将类型数据编码到字符串中。例如,foo=string(bar)或类似值。如果数据变得如此复杂,我真的建议您使用PHP的文件解析器(ini、json、xml等)或某种数据库。这是标准ini文件还是您自己构建的?它的格式不像标准ini文件,在尝试使用它时会出错,由于特殊字符。什么原因您不能仅使用parse_ini_文件进行此操作?至于能够解析类型,您可能需要将类型数据编码到字符串中。例如,foo=string(bar)或类似值。如果数据变得如此复杂,我真的建议您使用PHP的文件解析器(ini、json、xml等)或某种数据库。这是标准ini文件还是您自己构建的?它的格式不像标准ini文件,在尝试使用它时会出错,由于特殊字符。我将如何确定它是什么值类型?它需要动态地应用它们,因为用户可以更改文件的值。因此,当读取文件时,它需要读取它并确定它应该是int、string还是float。如何确定它是什么值类型?它需要动态地应用它们,因为用户可以更改文件的值。因此,在读取文件时,需要读取它并确定它是int、string还是float。