0

我的排序数组需要拆分,以便每个创建的数组都具有与该值关联的所有数组。

Array (
    [NAME] => Array
    (
        [0] => Fooaz
        [1] => bzdsfdasfz
        [2] => Fooooooooo
    )

    [DESCRIPTION] => Array
    (
        [0] => Foo
        [1] => Foo
        [2] => Barrrr
    )
)

例如,我想从那个数组中得到两个数组。一个包含:

[NAME]=>Array([0] => Fooooooooo), [DESCRIPTION]=>Array([0] => Barrrr):

另一个包含剩余元素。

这样做的有效方法是什么?

4

3 回答 3

1

使用 array_pop(): http ://codepad.org/GeP6OEtf

<?php

$arr=array(
"NAME"=>array('a','b','c','d'),
"DESC"=>array('A','B','C','D')
);

$newarr=array();
foreach ($arr as $key=>$value) {
    $newarr[$key]=array(array_pop($arr[$key]));
}
print_r($arr);
echo "\n-------------\n";
print_r($newarr);
于 2012-11-04T12:00:34.550 回答
1

您可以使用提取功能。

extract($array);

这将自动为您提供两个数组。

参考

于 2012-11-04T12:21:56.823 回答
1
$arr = Array (
    'NAME' => Array
    (
        0 => 'Fooaz',
        1 => 'bzdsfdasfz',
        2 => 'Fooooooooo'
    ),

    'DESCRIPTION' => Array
    (
        0 => 'Foo',
        1 => 'Foo',
        2 => 'Barrrr'
    )
);

$arr1 = array();
foreach ($arr as $key => $value) {
    $arr1[$key][] = array_pop($arr[$key]);
}

print_r($arr);
print_r($arr1);
于 2012-11-04T12:25:58.000 回答