要实现 PHP 数组一对一替换,可以使用 PHP 内置的 array_map()
函数。其参数为一个回调函数和至少一个数组,回调函数会对每个数组元素进行处理并返回新元素,最终返回一个处理过的新数组。
下面是实现 PHP 数组一对一替换的完整攻略:
1. 准备待替换数组
首先需要准备待替换的数组,假设我们有一个数组 $arr1
,其中包含需要替换的原始值:
$arr1 = array('apple', 'banana', 'cherry');
2. 准备替换数组
接下来需要准备用于替换的另一个数组 $arr2
,其中包含每个原始值对应的新值:
$arr2 = array('red', 'yellow', 'pink');
3. 编写回调函数
然后需要编写一个回调函数,用于将每个 $arr1
中的元素替换为相应的 $arr2
中的元素。我们可以使用 array_search()
函数查找 $arr1
中当前元素在 $arr2
中的位置,然后返回相应位置在 $arr2
中的元素。
function replace($val, $arr1, $arr2) {
$key = array_search($val, $arr1);
return $arr2[$key];
}
4. 使用 array_map() 函数替换
最后使用 array_map()
函数调用回调函数,进行一对一替换:
$arr3 = array_map('replace', $arr1, array_fill(0,count($arr1),$arr1), array_fill(0,count($arr1),$arr2));
这里需要注意的是,由于 array_map()
函数可以接受多个数组,但每个函数在调用时只取每个数组的相同键所对应的值,所以我们需要增加两个填充了 $arr1
和 $arr2
的数组作为参数。
5. 查看替换结果
现在 $arr3
数组中存储的就是 $arr1
数组中每个元素使用 $arr2
中对应元素替换后的结果:
print_r($arr3);
输出结果:
Array ( [0] => red [1] => yellow [2] => pink )
示例说明
示例 1
假设有一个 $cars
数组,存储了不同品牌的汽车:
$cars = array('BMW', 'Mercedes', 'Audi');
现在我们需要将这些汽车品牌使用对应的颜色替换,颜色数组为:
$colors = array('blue', 'gray', 'black');
下面是实现替换的完整代码:
function replace($car, $cars, $colors) {
$key = array_search($car, $cars);
return $colors[$key];
}
$cars = array('BMW', 'Mercedes', 'Audi');
$colors = array('blue', 'gray', 'black');
$cars_color = array_map('replace', $cars, array_fill(0,count($cars),$cars), array_fill(0,count($colors),$colors));
print_r($cars_color);
输出结果:
Array ( [0] => blue [1] => gray [2] => black )
示例 2
假设有一个 $fruits
数组,存储了不同种类的水果:
$fruits = array('apple', 'banana', 'orange');
现在我们需要将这些水果种类使用对应的单价替换,单价数组为:
$prices = array(3.5, 1.2, 2);
下面是实现替换的完整代码:
function replace($fruit, $fruits, $prices) {
$key = array_search($fruit, $fruits);
return $prices[$key];
}
$fruits = array('apple', 'banana', 'orange');
$prices = array(3.5, 1.2, 2);
$fruit_price = array_map('replace', $fruits, array_fill(0,count($fruits),$fruits), array_fill(0,count($prices),$prices));
print_r($fruit_price);
输出结果:
Array ( [0] => 3.5 [1] => 1.2 [2] => 2 )
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php数组一对一替换实现代码 - Python技术站