我有一个来自simplexml_import_dom()函数调用的多维多对象数组.

一个数组的一部分:

[Price] => SimpleXMLElement Object

(

[Prices] => Array

(

[0] => SimpleXMLElement Object

(

[@attributes] => Array

(

[MType] => A

[PType] => R

在尝试读取嵌套对象时,这会给我带来很多问题.我试图使用多个get_object_vars()遍历数组,但由于嵌套对象的深度和位置不断变化,我无法产生理想的结果.

PHP是否包含一个我无法找到的将多维多目标数组转换为标准多维数组的函数?或者之前有人解决过这个问题吗?

谢谢你的帮助!

最佳答案 经常会问这个问题,但是在将XML树转换为数组时需要逐个解决一个基本问题,这使得一个通用的方法变得不可能:你如何区分来自属性的节点?

例如,如何将此XML转换为数组:

child

此外,节点可以具有任意数量的具有相同名称的子节点,您无法使用关联数组进行模拟.

简而言之,你必须自己制定解决方案.从你的输出来看,它看起来像这样:

$arr = array();

foreach ($Price->Prices as $Prices)

{

$tmp = array();

foreach ($Prices->attributes() as $k => $v)

{

$tmp[$k] = (string) $v;

}

$arr[] = $tmp;

}

如果它不是您想要的,请编辑您的问题并添加源文档(XML)的示例以及预期结果(数组).

php多维数组和对象,在PHP中将多维多对象数组转换为标准多维数组相关推荐

  1. js判断数组,对象,是否为空,是否含有某个值,判断数组中对象是否有某个值

    一.数组 1.判断数组是否为空                  arr.length let arr = []; if (arr.length == 0){console.log("数组为 ...

  2. php 多层 对象,php多层数组和对象的转换

    多层数组和对象转化的用途很简单,便于处理WebService中多层数组和对象的转化 简单的(array)和(object)只能处理单层的数据,对于多层的数组和对象转换则无能为力. 通过json_dec ...

  3. es6之三个点(...) 扩展运算符数组和对象的使用场景及最常见的用法(霸霸看了都说好)

    概念 es6之扩展运算符 (-) 简称三个点 数组的扩展运算符应用 复制数组 扩展运算符提供了复制数组的简便写法. const a1 = [1, 2]; // 写法一 const a2 = [...a ...

  4. JQuery和原生JS遍历数组和对象的对比

    目录 1 遍历数组 1.1 JQuery遍历数组 1.2 原生JS遍历数组 2 遍历对象 2.1 JQuery遍历对象 2.2 原生JS遍历对象 1 遍历数组 1.1 JQuery遍历数组 在JQue ...

  5. Javascript 获取数组长度, 对象成员个数, 字符串数

    1.应用场景 主要用于获取数组长度, 对象成员个数, 字符串数. 2.学习/操作 Q1.Javascript怎么得到数组长度(也就是数组的元素个数)? Q2.Javascript怎么获取对象的成员个数 ...

  6. js 三维数组转对象数组 二维数组转对象数组

    1. 三维数组转对象数组 输出: 代码如下: let dataArr = [[[109.654541015625, 29.34387539941801],[110.467529296875, 59.3 ...

  7. 二维数组转对象+实战

    最开始在项目中需要实现将二维数组转成对象,百度了一通也没有合适的办法,偶然间翻到了数组的reduce方法,实现了需求,这里整理了两种二维数组转对象的方法.有关数组的reduce方法,我这边转载并整理了 ...

  8. java二维对象数组_java 二维数组和对象数组

    1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组 2.二维数组的初始化 1) int intA[][]={{1,2},{2,3},{3,4,5}}; 2) int [][] intB=n ...

  9. 微信小程序下拉框之二维数组或对象

    js文件 Page({data:{//户型 这是一个本地的对象,然后绑定到页面上 pic_array: [{ id: 13, name: '1室1厅1卫' },{ id: 14, name: '1室2 ...

最新文章

  1. 进程注入的研究与实现
  2. Java设计模式---外观模式
  3. [vue-element] ElementUI是怎么做表单验证的?在循环里对每个input验证怎么做呢?
  4. 马后炮之12306抢票工具(四)--抢票Demo,2014年1月9日终结版
  5. Mac配置炫酷终端以及直接预览Markdown和各类代码
  6. python08--正则
  7. pip安装gluonts
  8. C# WinFrom 用Execl做模版进行数据导入简介
  9. Linux+屏蔽脚本,Linux之劫持rm命令实现安全删除和屏蔽删除/、/*脚本
  10. QQ 新增“语音进度条”;滴滴顺风车负责人道歉;华为研发费将超 1000 亿美元 | 极客头条...
  11. 【Java中的网络编程】
  12. MATLAB图像滤波去噪分析及其应用
  13. python电影推荐系统 github_GitHub - qingtang3009/MovieRecommend: 一个电影推荐系统
  14. NI 国家仪器 各版本软件下载链接
  15. 收藏!这10部关于数学的顶级纪录片,告诉孩子数学跟枯燥不沾边!
  16. 3分钟在线开通优惠费率的微信支付商户号(商户收款码)
  17. win8打印机显示服务器脱机,Win8连接局域网打印机失败解决方法汇总
  18. java控制台贪食蛇_java中的贪食蛇例程
  19. 【一文带你读懂机器学习】线性回归原理
  20. Python晦涩知识点

热门文章

  1. 影像组学视频学习笔记(29)-ICC的计算、Li‘s have a solution and plan.
  2. 胡想——对机器人控制体系的一些想法
  3. 如何用c语言打出 * * * * * * * * * * * * *?
  4. 机器学习在生物信息(如DNA比对等方面)的研究现状是怎样的?
  5. SMAT,PacBio
  6. 序列比对-BLAST
  7. r语言用行名称提取数据框信息显示na_用R语言提取数据框中日期对应年份(列表转矩阵)...
  8. Python SQLite 用法
  9. 【tensorboard】从tensorboard上看出模型是否存在过拟合
  10. LeetCode 232. Implement Queue using Stacks--用2个栈来实现一个队列--C++解法