0

我有这个数组:

SimpleXMLElement Object
(
[id] => Array
    (
        [0] => Koala.jpg
        [1] => Jellyfish.jpg
    )

[desc] => Array
    (
        [0] => koaladesc
        [1] => jelly desc
    )

[qtidade] => Array
    (
        [0] => 1
        [1] => 5
    )

我需要创建一些 php 函数来帮助我对这样的值进行分组:

[0] => Array
    (
        [0] => Koala.jpg
        [1] => koaladesc
        [2] => 1
    )

[1] => Array
    (
        [0] => Jellyfish
        [1] => jelly desc
        [2] => 5
    )

有人可以帮我吗?

4

3 回答 3

2

这样的事情应该可以解决问题,但是根据您的问题的模糊性,它已本地化为您所问的内容:

$new_array = array();
foreach($simple_xml_object as $obj) {
    if(is_array($obj)) {
        for($i = 0; $i < count($obj); $i++) {
            $new_array[$i][] = $obj[$i];
        }
    }
}

我建议查看有关foreach() 构造的文档,以及查看SimpleXML 手册

于 2013-06-14T17:43:38.903 回答
1

所以,你想转一个数组。这是转置矩形数组的神奇方法:

array_unshift($array, null);
$array = call_user_func_array('array_map', $array);
于 2013-06-14T17:35:19.583 回答
0

假设您的数组保存在变量 $arrayValues

$arrayValues = [id] => Array
(
    [0] => Koala.jpg
    [1] => Jellyfish.jpg
)

[desc] => Array
(
    [0] => koaladesc
    [1] => jelly desc
)

[qtidade] => Array
(
    [0] => 1
    [1] => 5
)

现在您需要创建以下代码:

foreach($arrayValues as $array)
{
    echo $array->id;
    echo $array->desc;
    echo $array->qtidade;
}

这可能对你很有效。

于 2013-06-14T17:39:01.127 回答