比较两个数组时如何在每个索引处获取最大元素?
How to get max element at each index while comparing two arrays?
我有两个长度相同的索引数组:
$first_array = [1,3,4,5,6];
$second_array = [5,2,1,7,9];
我需要生成一个新数组,其中包含每个索引处两个元素之间的较高值。
输出应该是:
$output_array[5, 3, 4, 7, 9];
试试这个方法。 demo
<?php
$first_array = array(1,3,4,5,6);
$second_array = array(5,2,1,7,9);
$return = array();
foreach($first_array as $key => $value){
if($first_array[$key] > $second_array[$key]){
$return[] = $first_array[$key];
}else{
$return[] = $second_array[$key];
}
}
print_r($return);
超级简单的一行:
将两个数组传递给 array_map()
,因为它同步循环遍历两组数据,对两个元素调用 max()
。
代码:(Demo)
$first_array = [1, 3, 4, 5, 6];
$second_array = [5, 2, 1, 7, 9];
var_export(array_map('max', $first_array, $second_array));
输出:
array (
0 => 5,
1 => 3,
2 => 4,
3 => 7,
4 => 9,
)
我有两个长度相同的索引数组:
$first_array = [1,3,4,5,6];
$second_array = [5,2,1,7,9];
我需要生成一个新数组,其中包含每个索引处两个元素之间的较高值。
输出应该是:
$output_array[5, 3, 4, 7, 9];
试试这个方法。 demo
<?php
$first_array = array(1,3,4,5,6);
$second_array = array(5,2,1,7,9);
$return = array();
foreach($first_array as $key => $value){
if($first_array[$key] > $second_array[$key]){
$return[] = $first_array[$key];
}else{
$return[] = $second_array[$key];
}
}
print_r($return);
超级简单的一行:
将两个数组传递给 array_map()
,因为它同步循环遍历两组数据,对两个元素调用 max()
。
代码:(Demo)
$first_array = [1, 3, 4, 5, 6];
$second_array = [5, 2, 1, 7, 9];
var_export(array_map('max', $first_array, $second_array));
输出:
array (
0 => 5,
1 => 3,
2 => 4,
3 => 7,
4 => 9,
)