2017-07-07 50 views
-1

我想比较2 arraysintegers比较两个数组包含整数,返回差异

我有:

function findDeletedNumber(array $arr, array $mixedArr): int { 
    $diff = array_diff($arr, $mixedArr); 
    if ($diff != NULL) { return($diff); } 
    return 0; 
} 

但问题是,我需要返回的差异为string。不是array。不同的是会一直只有一个值

+1

return(implode(',',$ diff))? – aswzen

+0

@mickmackusa我找到了我的解决方案。返回的值始终是一个值。所以我做了这个函数findDeletedNumber(array $ arr,array $ mixedArr):int {return array_sum($ arr) - array_sum($ mixedArr); }' –

回答

0

使用implode功能

function findDeletedNumber(array $arr, array $mixedArr): int { 
     $diff = array_diff($arr, $mixedArr); 
     if ($diff != NULL) { return(implode(',',$diff)); } 
     return 0; 
    } 
0

基于你的函数的名字,你最多返回一个号码,你可以使用目前的()是这样的:

return ($diff=array_diff($arr,$mixedArr))?current($diff):0; 
0

因为返回值总是会是一个值。您可以使用array_sum来求和整数。只需减去求和数组的awnsers,这就是区别。

findDeletedNumber(array $arr, array $mixedArr): int 
{ 
    return array_sum($arr) - array_sum($mixedArr); 
}