如何将数组第一个值转换为键,将第二个值转换为值

时间:2017-04-22 13:30:43

标签: php arrays

您好我正在进行一些数组操作。

我需要将数组的第一个值转换为数组,将数组的第二个值转换为值。

我有一个变量 $ testArray ,它存储如下所示的数组。

 Array
(
    [0] => Array
        (
            [0] => Color
            [1] => White on Red
        )

    [1] => Array
        (
            [0] => Depicted Text
            [1] => EMPTY
        )

    [2] => Array
        (
            [0] => Depth [Nom]
            [1] => 0.004 in
        )

    [3] => Array
        (
            [0] => Language
            [1] => English
        )

    [4] => Array
        (
            [0] => Length [Nom]
            [1] => 10 in
        )

    [5] => Array
        (
            [0] => Material
            [1] => Adhesive Vinyl
        )

    [6] => Array
        (
            [0] => Mounting
            [1] => Surface
        )

    [7] => Array
        (
            [0] => Width [Nom]
            [1] => 14 in
        )

    [8] => Array
        (
            [0] => Wt.
            [1] => 0.056 lb
        )

)

预期输出:

    Array
(
    [0] => Array
        (
            [Color] => White on Red
        )

    [1] => Array
        (
            [Depicted Text] => EMPTY
        )

    [2] => Array
        (
            [Depth [Nom]] => 0.004 in
        )

    [3] => Array
        (
            [Language] => English
        )

    [4] => Array
        (
            [Length [Nom]] => 10 in
        )

    [5] => Array
        (
            [Material] => Adhesive Vinyl
        )

    [6] => Array
        (
            [Mounting] => Surface
        )

    [7] => Array
        (
            [Width [Nom]] => 14 in
        )

    [8] => Array
        (
            [Wt.] => 0.056 lb
        )

)

我已经尝试过使用数组函数array_keys和array_values但它无法正常工作

2 个答案:

答案 0 :(得分:9)

使用array_map函数的简单解决方案:

$result = array_map(function($v){
    return [$v[0] => $v[1]];
}, $testArray);

答案 1 :(得分:4)

假设结构总是相同的,你可以这样做:

$output = array();
foreach($testArray as $v){
    $output[] = array($v[0] => $v[1]);
}

在行动here中查看。