我有一些来自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>
因此,举例来说,manufacturer
为string
而serial
为integer
。
如何根据对象将对象转换为适当的数据类型?
答案 0 :(得分:0)
is_numeric将为您提供检查值是否为数字的能力
如果您要确保整数,请循环每个字符并使用ctype_digit
您可能还希望使用regular expressions来识别更复杂的结构。
示例:
if(is_numeric($value)) {
$value = doubleval($value); //cast to double
}