从数组中分组值

时间:2013-06-14 17:26:26

标签: php arrays grouping

我有这个数组:

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
    )

有人可以帮助我吗?

3 个答案:

答案 0 :(得分: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() construct上的文档,以及查看SimpleXML manual

答案 1 :(得分:1)

因此,您希望转置数组。这是一种转换矩形阵列的神奇方法:

array_unshift($array, null);
$array = call_user_func_array('array_map', $array);

答案 2 :(得分: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;
}

这可能适合你。