比较两个数组时如何在每个索引处获取最大元素?

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,
)