Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-用预定义的键列表替换数组键_Php_Arrays_Multidimensional Array_Key - Fatal编程技术网

PHP-用预定义的键列表替换数组键

PHP-用预定义的键列表替换数组键,php,arrays,multidimensional-array,key,Php,Arrays,Multidimensional Array,Key,我有一个多维数组,是我在废弃一个web之后得到的 Array ( [Dollar N. America] => Array ( [Name] => Dollar N. America [Buy] => 3.311 [Sell] => 3.314 ) [Yen Japan] => Array ( [Name]

我有一个多维数组,是我在废弃一个web之后得到的

Array
(
    [Dollar N. America] => Array
        (
            [Name] => Dollar N. America
            [Buy] => 3.311
            [Sell] => 3.314
        )

    [Yen Japan] => Array
        (
            [Name] => Yen Japan
            [Buy] => 0.028
            [Sell] => 0.033
        )

    [Euro Europe] => Array
        (
            [Name] => Euro Europe
            [Buy] => 3.752
            [Sell] => 3.948
        )
)
问题是我需要将数组键的名称更改为较短的名称:

[DollarUS] - [YenJP] - [EuroEU]
为了使它看起来像这样:

Array
(
    [DollarUS] => Array
        (
            [Name] => Dollar N. America
            [Buy] => 3.311
            [Sell] => 3.314
        )

    [YenJP] => Array
        (
            [Name] => Yen Japan
            [Buy] => 0.028
            [Sell] => 0.033
        )

    [EuroEU] => Array
        (
            [Name] => Euro Europe
            [Buy] => 3.752
            [Sell] => 3.948
        )
)
我尝试了几种方法,但没有找到结果:

foreach ($currency as $k => $v){
    $currency[$k]['DolarUS'] = $currency[$k]['Dollar N. America'];
    unset($monedas[$k]['Dollar N. America']);
}   

您可以尝试数组_combine():


您可以尝试数组_combine():

可能的重复可能的重复
$array = [
    "Dollar N. America" => [
            "Name" => "Dollar N. America"
            "Buy" => 3.311
            "Sell" => 3.314
        ],

    "Yen Japan" => [
            "Name" => "Yen Japan"
            "Buy" => 0.028
            "Sell" => 0.033
        ],

    "Euro Europe" => [
            "Name" => "Euro Europe"
            "Buy" => 3.752
            "Sell" => 3.948
        ]
];

$replace_with_me = ["Dollar N. America"=>"DollarUS" , "Yen Japan"=>"YenJP" , "Euro Europe"=>"EuroEU"];

foreach($array as $key=>$value){
  $array[$replace_with_me[$key]] = $array[$key];
 unset($array[$key])
}

var_dump($array[$key]);
$keys = ['DollarUS','YenJP','EuroEU'];
$values = [
    'Dollar N. America' => [
        'Name' => 'Dollar N. America'
        'Buy' => 3.311
        'Sell' => 3.314
    ],
    'Yen Japan' => [
        'Name' => 'Yen Japan'
        'Buy' => 0.028
        'Sell' => 0.033
    ],
    'Euro Europe' => [
        'Name' => 'Euro Europe'
        'Buy' => 3.752
        'Sell' => 3.948
    ]
];
$fixedKeys = array_combine($keys,$values);