Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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_Xml_Object_Casting_Type Conversion - Fatal编程技术网

PHP根据对象的值将对象强制转换为适当的数据类型

PHP根据对象的值将对象强制转换为适当的数据类型,php,xml,object,casting,type-conversion,Php,Xml,Object,Casting,Type Conversion,我有一些来自XML文件的对象。我正在尝试将XML文件转换为SQL数据结构。到目前为止,我设法检索了表和列,现在我需要找出每个列的数据类型。 gettype()没有帮助,因为它总是返回object。 强制转换效率不高,我尝试对每种数据类型强制转换以查看它是否适合一种数据类型,但是,例如,如果我将5hi强制转换为整数,结果将是5。 以下是XML文件的一部分: <device> <manufacturer>SIEMENS</manufacturer>

我有一些来自XML文件的对象。我正在尝试将XML文件转换为SQL数据结构。到目前为止,我设法检索了表和列,现在我需要找出每个列的数据类型。
gettype()
没有帮助,因为它总是返回
object
。 强制转换效率不高,我尝试对每种数据类型强制转换以查看它是否适合一种数据类型,但是,例如,如果我将
5hi
强制转换为整数,结果将是
5
。 以下是XML文件的一部分:

<device>
    <manufacturer>SIEMENS</manufacturer>
    <model>SOMATOM Definition</model>
    <serial>60301</serial>
    <version>syngo CT 2010A</version>
</device>

西门子
躯体定义
60301
syngo CT 2010A
例如,
manufacturer
string
serial
integer
。 如何根据对象的值将对象强制转换为适当的数据类型?

将为您提供检查值是否为数字的功能

如果要确保整数,请在每个字符上循环并使用

您可能还希望使用来识别更复杂的结构

例如:

if(is_numeric($value)) {
    $value = doubleval($value); //cast to double
}

谢谢,我首先将对象强制转换为字符串,然后使用其他函数进行检查。