在PHP中减去两个数组值

时间:2014-03-28 05:42:36

标签: php arrays

以下是两个数组的快照:

Array ( [assigned_todo_count] => 382 )
Array ( [delayedtasks] => 88 )

我已经使用array_diff_asooc函数来减去数组,但是我没有得到预期的结果。

foreach(array_diff_assoc($assigned_todo_count,$delayed_todo_count) as $item)
{
print_r($item);
}

执行print_r输出382时的最终结果。我必须找到两个数组之间的区别,尽管最终输出结果是第一个数组结果。

3 个答案:

答案 0 :(得分:1)

试试这个

$array1 = array("assigned_todo_count"=>382);
$array2 = array("delayedtasks" => 88);
$subtracted = array_map(function ($x, $y) { return $y-$x; } , $array2, $array1);
$result     = array_combine(array_keys($array2), $subtracted);
var_dump($result);

它将从array2中减去array1

答案 1 :(得分:0)

为什么不使用这种简单方法?

<?php
 $array1 = array("assigned_todo_count"=>382);
 $array2 = array("delayedtasks" => 88);
 $result=$array1['assigned_todo_count']-$array2['delayedtasks'];
 echo $result;
?>

<强>输出

294

答案 2 :(得分:0)

这个问题很混乱。

无论如何,我假设Array ( [assigned_todo_count] => 382 )存储在$atc变量中,Array ( [delayedtasks] => 88 )存储在$dt变量中。

所以我只需要做的是:

$difference = $atc['assigned_todo_count'] - $dt['delayedtasks'] ;

if($difference > 15){
   //difference is greater than 15
}else{
   //difference is less than 15
}