调用未定义的函数objectsIntoArray()-PHP

调用未定义的函数objectsIntoArray()-PHP,php,xml,xml-parsing,Php,Xml,Xml Parsing,我试图使用PHP使用objectsIntoArray()将xml解析为数组,但调用未定义的函数objectsIntoArray()时出错 请任何人提供帮助objectsIntoArray()不是PHP中的标准内置函数,因此如果您没有自己编写它,那么它确实是未定义的 如果您已经编写了该函数,那么可能还没有包含包含该函数的适当文件 我注意到有人在SimpleXML类的PHP手册页面的注释中发布了一个同名函数——请参见并搜索objectsIntoArray。如果这是您正在寻找的函数,您可以从这里直接复

我试图使用PHP使用
objectsIntoArray()
将xml解析为数组,但调用未定义的函数objectsIntoArray()时出错

请任何人提供帮助

objectsIntoArray()
不是PHP中的标准内置函数,因此如果您没有自己编写它,那么它确实是未定义的

如果您已经编写了该函数,那么可能还没有包含包含该函数的适当文件

我注意到有人在SimpleXML类的PHP手册页面的注释中发布了一个同名函数——请参见并搜索
objectsIntoArray
。如果这是您正在寻找的函数,您可以从这里直接复制并粘贴它,然后使用它。

objectsIntoArray()
不是PHP中的标准内置函数,因此如果您没有自己编写它,那么它确实是未定义的

如果您已经编写了该函数,那么可能还没有包含包含该函数的适当文件

我注意到有人在SimpleXML类的PHP手册页面的注释中发布了一个同名函数——请参见并搜索
objectsIntoArray
。如果这是您正在寻找的函数,您可以从这里直接复制并粘贴它并使用它。

SimpleXML扩展丢失、未安装,或者您的PHP版本或SimpleXML版本错误

  • 检查
    phpinfo()
    并检查
  • 邮政编码
  • 所以
    objectsIntoArray()
    这只是一个手工制作的函数。它不是内置在php中的,所以您必须手动将其包括在内

    <?php 
    
        function objectsIntoArray($arrObjData, $arrSkipIndices = array()){
            $arrData = array();
            if (is_object($arrObjData)) 
                $arrObjData = get_object_vars($arrObjData);
    
            if (is_array($arrObjData)) 
                foreach ($arrObjData as $index => $value) {
                    if(is_object($value) || is_array($value)) 
                        $value = objectsIntoArray($value, $arrSkipIndices); 
    
                    if(in_array($index, $arrSkipIndices)) 
                         continue;
    
                    $arrData[$index] = $value;
                }
    
            return $arrData;
        }
    
        $xmlString = "
            <html>
                <head>
                    <link blabla='whargarbl' />
                </head>
            </html>
        "; 
        $xmlObject = simplexml_load_string($xmlString); 
        $arrayXml = objectsIntoArray($xmlObject);
        die(var_dump($arrayXml));
    ?>
    
    SimpleXML扩展缺失、未安装,或者您的PHP版本或SimpleXML版本错误

  • 检查
    phpinfo()
    并检查
  • 邮政编码
  • 所以
    objectsIntoArray()
    这只是一个手工制作的函数。它不是内置在php中的,所以您必须手动将其包括在内

    <?php 
    
        function objectsIntoArray($arrObjData, $arrSkipIndices = array()){
            $arrData = array();
            if (is_object($arrObjData)) 
                $arrObjData = get_object_vars($arrObjData);
    
            if (is_array($arrObjData)) 
                foreach ($arrObjData as $index => $value) {
                    if(is_object($value) || is_array($value)) 
                        $value = objectsIntoArray($value, $arrSkipIndices); 
    
                    if(in_array($index, $arrSkipIndices)) 
                         continue;
    
                    $arrData[$index] = $value;
                }
    
            return $arrData;
        }
    
        $xmlString = "
            <html>
                <head>
                    <link blabla='whargarbl' />
                </head>
            </html>
        "; 
        $xmlObject = simplexml_load_string($xmlString); 
        $arrayXml = objectsIntoArray($xmlObject);
        die(var_dump($arrayXml));
    ?>
    

    您尚未定义
    objectsIntoArray()
    。我相信你想要的是。你还没有定义
    objectsIntoArray()
    。我相信您需要的是。Simplexml支持在php.ini版本中启用-$Revision:1.151.2.22.2.35.2.32$,php版本为5.3.0。请建议$xmlString=file\u get\u contents($fileName)$xmlObject=simplexml\u load\u string($xmlString)$arrayXml=objectsIntoArray($xmlObject);它是一个对象成员。使用
    $arrayXml=$xmlObject->objectsIntoArray($xmlObject)现在错误更改为调用未定义的方法SimpleXMLElement::objectsIntoArray()Simplexml支持在php.ini版本-$Revision:1.151.2.22.2.35.2.32$中启用,php版本为5.3.0。请建议$xmlString=file\u get\u contents($fileName)$xmlObject=simplexml\u load\u string($xmlString)$arrayXml=objectsIntoArray($xmlObject);它是一个对象成员。使用
    $arrayXml=$xmlObject->objectsIntoArray($xmlObject)现在错误更改为调用未定义的方法SimpleXMLElement::objectsIntoArray()