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

时间:2014-05-24 17:08:58

标签: php xml object casting type-conversion

我有一些来自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>

因此,举例来说,manufacturerstringserialinteger。 如何根据对象将对象转换为适当的数据类型?

1 个答案:

答案 0 :(得分:0)

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

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

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

示例:

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