在PHP中用数组中的字符串替换SimpleXMLObject对象

在PHP中用数组中的字符串替换SimpleXMLObject对象,php,arrays,xml,Php,Arrays,Xml,我有一个数组,其中包含从AmazonAPI获得的信息,并使用SimpleXML对其进行解析。这给了我一个如下所示的数组: [ [ 0 => SimpleXMLElement Object (0 => B00TU53O8Q) ], [ 0 => SimpleXMLElement Object (0 => B00TU53O8Q), 1 => SimpleXMLElement Object (0 =>

我有一个数组,其中包含从AmazonAPI获得的信息,并使用SimpleXML对其进行解析。这给了我一个如下所示的数组:

[
    [
        0 => SimpleXMLElement Object (0 => B00TU53O8Q)
    ], [
        0 => SimpleXMLElement Object (0 => B00TU53O8Q),
        1 => SimpleXMLElement Object (0 => B015K13HWQ)
    ], [
        0 => SimpleXMLElement Object (0 => B00TU53O8Q) 
    ], [
       ...
    ]
] 
现在,我想把这个数组转换成一种更简单的格式,不再有任何SimpleXML对象

基本上,我只需要一个数组,其中只包含它们所表示的字符串:

[
    0 => B00TU53O8Q,
    1 => B015K13HWQ,
    2 => B00TU53O8Q,
    1 => B00TU53O8Q
       ...
] 
然后我想把这个数组分割成一个二维数组,看起来像这样:

[
    0 => [
        0 => B00TU53O8Q
        1 => B00TU53O8Q
        2 => B015K13HWQ
        3 => B00TU53O8Q
        4 => B00TU53O8Q
    ],
    1 => [
        0 => B015K13HWQ
       ...
    ]
    ...
]

我不知道怎么做。你能帮帮我吗

一开始我就认为你的if陈述是错误的。如果要进行比较,则应为double==。实际上,您将$asinValue设置为'Asin Not Found',它将计算为true。您似乎永远也无法访问代码的else部分。

以下是一个处理输入的函数:

function translate($data, &$result) {
    if (is_array($data)) {
        foreach($data as $element) {
            translate($element, $result);
        }
    } else {
        $result[] = (string) $data; 
    }
}
可以这样称呼:

// some test data:
$data = array(
    array(
        new SimpleXMLElement("<test>B00TU53O8Q</test>")
    ),
    array(
        new SimpleXMLElement("<test>B00TU53O8Q</test>"),
        new SimpleXMLElement("<test>B015K13HWQ</test>")
    ),
    array(
        new SimpleXMLElement("<test>B00TU53O8Q</test>")
    ),
    array(
        new SimpleXMLElement("<test>B00TU53O8Q</test>"),
        new SimpleXMLElement("<test>B015K13HWQ</test>")
    )
);

$result = array();
translate($data, $result);
$chunks = array();
while (count($result)) {
    $chuncks[] = array_slice($result, 0, 5);
    $result = array_slice($result, 5);
}

print_r ($chuncks);
Ouput根据测试数据给出了2个数据块:

Array
(
    [0] => Array
        (
            [0] => B00TU53O8Q
            [1] => B00TU53O8Q
            [2] => B015K13HWQ
            [3] => B00TU53O8Q
            [4] => B00TU53O8Q
        )

    [1] => Array
        (
            [0] => B015K13HWQ
        )

)

输入是我从AmazonAPI获得的信息。我现在就更新代码。更新代码。感谢我的意见和期望的回复。谢谢。更新了代码。谢谢。再看一次这个问题。我把它改了,以找到更适合我需要的东西。谢谢你的快速回复。我现在就试试。谢谢