当前位置: 首页>>代码示例>>PHP>>正文


PHP DomDocument::hasAttributes方法代码示例

本文整理汇总了PHP中DomDocument::hasAttributes方法的典型用法代码示例。如果您正苦于以下问题:PHP DomDocument::hasAttributes方法的具体用法?PHP DomDocument::hasAttributes怎么用?PHP DomDocument::hasAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DomDocument的用法示例。


在下文中一共展示了DomDocument::hasAttributes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: domToArray

 /**
  * From http://stackoverflow.com/questions/14553547/what-is-the-best-php-dom-2-array-function
  *
  * @param \DomDocument $root
  * @return array
  */
 protected function domToArray($root)
 {
     $result = [];
     if ($root->hasAttributes()) {
         $attrs = $root->attributes;
         foreach ($attrs as $attr) {
             $name = str_replace('cas:', '', $attr->name);
             $result['attributes'][$name] = $attr->value;
         }
     }
     if ($root->hasChildNodes()) {
         $children = $root->childNodes;
         if ($children->length == 1) {
             $child = $children->item(0);
             if ($child->nodeType == XML_TEXT_NODE) {
                 $result['value'] = $child->nodeValue;
                 return count($result) == 1 ? $result['value'] : $result;
             }
         }
         $groups = [];
         foreach ($children as $child) {
             $childName = str_replace('cas:', '', $child->nodeName);
             if (!isset($result[$childName])) {
                 $result[$childName] = $this->domToArray($child);
             } else {
                 if (!isset($groups[$childName])) {
                     $result[$childName] = [$result[$childName]];
                     $groups[$childName] = 1;
                 }
                 $result[$childName][] = $this->domToArray($child);
             }
         }
     }
     return $result;
 }
开发者ID:jcrowe206,项目名称:php-cas,代码行数:41,代码来源:CasXMLParser.php


注:本文中的DomDocument::hasAttributes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。