要实现 PHP 数组一对一替换,可以使用 PHP 内置的 array_map() 函数。其参数为一个回调函数和至少一个数组,回调函数会对每个数组元素进行处理并返回新元素,最终返回一个处理过的新数组。
要实现 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数组一对一替换实现代码


基础教程推荐
- Laravel5.4框架使用socialite实现github登录的方法 2022-12-30
- php为字符串前后添加指定数量字符的方法 2024-01-03
- PHP基于关联数组20行代码搞定约瑟夫问题示例 2023-08-03
- 如何使用OPCache提升PHP的性能 2023-06-03
- PHP将amr音频文件转换为mp3格式的操作细节 2023-06-19
- php删除二维数组中的重复值方法 2022-10-08
- PHP实现求两个字符串最长公共子串的方法示例 2022-10-01
- 常见的5个PHP编码小陋习以及优化实例讲解 2023-05-19
- PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法 2023-12-26
- 详解php中serialize()和unserialize()函数 2022-08-11