Ketan Borada
Ketan Borada

Reputation: 864

Convert a 2d array into a flat associative array using two columns

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

array('AA' => 'aa','BB' => 'bb');

Upvotes: 0

Views: 54

Answers (3)

Mike
Mike

Reputation: 181

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"
}

Upvotes: 0

Pyton
Pyton

Reputation: 1319

$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
)

Upvotes: 3

Ash-b
Ash-b

Reputation: 713

<?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);

Upvotes: 1

Related Questions