Php 数组中的符号防止循环通过它

Php 数组中的符号防止循环通过它,php,xml,arrays,foreach,ampersand,Php,Xml,Arrays,Foreach,Ampersand,我会尽可能地描述。我有一个数组,由xml2array从生成xml的网站复制粘贴的xml文件生成。我无法控制XML本身的格式。XML有重复的字段,一个是typeName,一个是entityTypeName。typeName更正了符号and并将其转换为 & 由于某种原因,entityTypeName不可用,因此符号保持不变 当尝试在数组中循环时,数组在到达第一个包含符号的entityTypeName时立即停止,并导致其后的所有其他引用“未定义” 如果我手动将XML文件中的符号更改为

我会尽可能地描述。我有一个数组,由xml2array从生成xml的网站复制粘贴的xml文件生成。我无法控制XML本身的格式。XML有重复的字段,一个是typeName,一个是entityTypeName。typeName更正了符号and并将其转换为

&
由于某种原因,entityTypeName不可用,因此符号保持不变

当尝试在数组中循环时,数组在到达第一个包含符号的entityTypeName时立即停止,并导致其后的所有其他引用“未定义”

如果我手动将XML文件中的符号更改为

&
那么一切都很好,但这只适用于调试目的

我甚至试过:

foreach ($entityArray as $key => $value) {
    $entityArray[$key]['entityTypeName'] = $entityArray[$key]['typeName'];
}
试图用有效的字段替换故障字段。它似乎取代了它,但它仍然停留在与符号对应的位置

我一直在论坛上发问,我不知所措。有人有想法吗

--编辑--


我一直在挖掘,问题不在于数组本身,而在于它的xml2array在符号处停止处理。不知道我现在是否应该把这个问题留待讨论?

回答你自己的问题,这是可能的,而且比编辑器更清楚。PHP本身没有函数
xml2array()
,所以你可能首先最好指定你要做什么。这听起来很像一个bug报告。通常情况下,您不需要将XML转换为数组,一开始就使用
SimpleXML元素
通常要容易得多。这是我边学边学的东西之一,因此感谢您的澄清和正确的步骤。如果您还不了解SimpleXML,下面是一组基本用法示例: