如何結(jié)合PHP array_keys實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換

PHP
小樊
82
2024-09-04 23:28:01

array_keys 函數(shù)用于返回?cái)?shù)組中所有的鍵名

  1. 首先,創(chuàng)建一個(gè)包含舊鍵名和新鍵名對(duì)應(yīng)關(guān)系的數(shù)組:
$keyMapping = [
    'old_key1' => 'new_key1',
    'old_key2' => 'new_key2',
    'old_key3' => 'new_key3',
];
  1. 使用 array_map 函數(shù)遍歷原始數(shù)組,并使用 array_combine 函數(shù)根據(jù)新鍵名重新組合數(shù)組。
function transformKeys($item, $keyMapping) {
    return array_combine(array_values($keyMapping), $item);
}

$originalArray = [
    ['old_key1' => 'value1', 'old_key2' => 'value2', 'old_key3' => 'value3'],
    ['old_key1' => 'value4', 'old_key2' => 'value5', 'old_key3' => 'value6'],
];

$transformedArray = array_map(function ($item) use ($keyMapping) {
    return transformKeys($item, $keyMapping);
}, $originalArray);

在這個(gè)例子中,我們首先定義了一個(gè) $keyMapping 數(shù)組,其中包含舊鍵名和新鍵名之間的映射關(guān)系。然后,我們創(chuàng)建了一個(gè) $originalArray,其中包含需要轉(zhuǎn)換的數(shù)據(jù)。

接下來,我們使用 array_map 函數(shù)遍歷 $originalArray 中的每個(gè)元素,并將其傳遞給 transformKeys 函數(shù)。transformKeys 函數(shù)使用 array_combine 函數(shù)根據(jù) $keyMapping 中的新鍵名重新組合數(shù)組。

最后,$transformedArray 將包含已轉(zhuǎn)換鍵名的新數(shù)組。

0