Search code examples
phparrays

How to replace array keys with another array values


I have two arrays and I want to replace the second array keys with the first array values if both keys matches.

As an example: Replace A with Code And B with name

How to do this;

<?php

        $array = array('A' => 'code', 'B' =>'name');
        $replacement_keys = array
        (
            array("A"=>'sara','B'=>2020),
            array("A"=>'ahmed','B'=>1010)

        );
        foreach($replacement_keys as $key => $value){
                foreach($value as $sk => $sv){
                    foreach($array as $rk => $rv){
                      if($sk == $rk ){
                          $sk = $rv;
                      }
                    }

                }

        }
        echo "<pre>";
        print_r($value);
        echo "</pre>";
        exit;

I want the result to be like this

 array(

      [0] => Array
                (
                    [name] => ahmed
                    [code] => 1020
                )

      [1] => Array
                (
                  [name] => sara
                  [code] => 2020
        )

)

Solution

  • <?php
    $array = array('A' => 'code', 'B' =>'name');
    $replacement_keys = array
    (
        array("A"=>'sara','B'=>2020),
        array("A"=>'ahmed','B'=>1010)
    
    );
    
    foreach($replacement_keys as &$value)
    {
        foreach ($array as $key => $name) {
            $value[$name] = $value[$key];
            unset($value[$key]);
        }
    
    }
    var_dump($replacement_keys);