数组替换数字和关联

bla*_*elt 1 php

我有一个变量,它包含逗号分隔值,如下所示: $str = "1,5";

要将其转换为数组,我有以下代码:

$str = "1,5";
$replacements = explode(',', $str);
Run Code Online (Sandbox Code Playgroud)

现在数组如下所示:

Array
(
  [0] => 1
  [1] => 5
)
Run Code Online (Sandbox Code Playgroud)

我有另一个数组: $base = array('1'=>'Bread','5'=>'Butter');

我要做的是基于key关联数组和数值数组的值将数值的值替换为上面的关联数组的值,它应如下所示:

// This is what I am trying to achive
Array
(
  [0] => Bread  // because 1 = Bread in the assoc. array
  [1] => Butter // because 5 = Butter in  the assoc. array
)
Run Code Online (Sandbox Code Playgroud)

为了实现这一点,我尝试了以下代码:

$str = "1,5";
$replacements = explode(',', $str);         
$base = array('1'=>'Bread','5'=>'Butter');          
$basket = array_replace($base, $replacements);      
print_r($basket);
Run Code Online (Sandbox Code Playgroud)

但它给了我以下输出:

 Array
(
[1] => 5
[5] => Butter
[0] => 1
) 
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何解决这个问题吗?

Set*_*ine 6

$str = "1,5";
$replacements = explode(',', $str);         
$base = array('1'=>'Bread','5'=>'Butter');   
$basket = array();

foreach($replacements as $value) {
    $basket[]=$base[$value];
}
Run Code Online (Sandbox Code Playgroud)