【问题标题】:PHP - transform arrays multidimensional keysPHP - 转换数组多维键
【发布时间】:2021-11-26 04:07:47
【问题描述】:

我想知道是否有任何 PHP 函数或组合可以像这样转换数组

[Array
(
    [0] => Array
        (
            [0] => name
            [1] => value
        )

    [1] => Array
        (
            [0] => John Doe
            [1] => Married
        )

    [2] => Array
    (
        [0] => John Wick
        [1] => Single
    )
)

我想将第一个索引值转换为其他索引,或者类似的东西

[Array
    (
        [0] => Array
            (
                [name] => John Doe
                [value] => Married
            )
    
        [1] => Array
            (
                [name] => John Wick
                [value] => Single
            )
        )

【问题讨论】:

标签: php arrays multidimensional-array


【解决方案1】:

以下是您可以使用的:

$replacements = array_shift($arr);
array_walk($arr, function(&$element) use ($replacements) {
    array_walk($element, function($value, $key) use ($replacements, &$element) {
        if (array_key_exists($key, $replacements)) {
            $element[$replacements[$key]] = $value;
            unset($element[$key]);
        }
    });
});

它删除数组的第一个元素并将其存储为替换数组。然后,它遍历数组中的所有元素并检查当前循环的内部数组的索引是否存在于替换中。如果是这样,它将向数组中添加一个新元素并删除旧元素。查看this 3v4l 获取工作示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2021-12-02
    相关资源
    最近更新 更多