简体   繁体   English

PHP转换多维数组

[英]PHP Convert Multi-dimensional array

I have array 我有阵列

$Old = [_1526906780329_329] => Array (
    [frlabel] => aa
    [enlabel] => AA
    )
[_1526906783640_640] => Array (
    [frlabel] => bb
    [enlabel] => BB
    )

I want $old array to convert it in single array key value format like 我希望$old数组将其转换为单数组键值格式,例如

array('AA' => 'aa','BB' => 'bb');
$Old = [
    '_1526906780329_329' => [
        'frlabel' => 'aa',
        'enlabel' => 'AA',
    ],
    '_1526906783640_640' => [
        'frlabel' => 'bb',
        'enlabel' => 'BB',
    ],
];

$newArray = array_column($Old, 'frlabel', 'enlabel');
print_r($newArray);

Output: 输出:

Array
(
    [AA] => aa
    [BB] => bb
)
<?php 


    $final = array();
    $Old[_1526906780329_329] = Array (
        'frlabel' => 'aa',
        'enlabel' => 'AA',
        );

    $Old[_1526906783640_640] = Array (
        'frlabel' => 'bb',
        'enlabel' => 'BB',
        );

    foreach ($Old as $key => $value) {
        $final[$value['enlabel']] = $value['frlabel'];
    }
    echo "<pre>";print_r($final);

Assuming this is data specific... 假设这是特定于数据的...

$array1 = array();
$array1['frlabel'] = 'aa';
$array1['enlabel'] = 'AA';

$array2 = ['frlabel' => 'bb', 'enlabel' => 'BB'];

$old = array();
$old[] = $array1;
$old[] = $array2;
$result = array();

foreach($old as $tmp){
    $result[$tmp['enlabel']] = $tmp['frlabel'];
}

var_dump($result);

Output: 输出:

array(2) {
    ["AA"]=>
    string(2) "aa"
    ["BB"]=>
    string(2) "bb"
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM