php - diffing嵌套数组

I have 2 multidimensional arrays:

$first_array = array(
  0 => array(tid => 141), 
  1 => array(tid => 142), 
  2 => array(tid => 128)
);

$second_array = array(
  0 => array(tid => 141), 
  1 => array(tid => 128)
);

I need to check if there are any items in the second array that are present in the first array. If there are, I need to remove them from the first array.

Taking the example above, $first_array should end up as array(0 => array(tid => 142))

Any suggestions?

Edit: Here is what I used:

$first_array = array(
  0 => array('tid' => 141), 
  1 => array('tid' => 142), 
  2 => array('tid' => 128)
);

$second_array = array(
  0 => array('tid' => 141), 
  1 => array('tid' => 128)
);


function my_serialize(&$arr,$pos){ 
  $arr = serialize($arr); 
} 

function my_unserialize(&$arr,$pos){ 
  $arr = unserialize($arr); 
} 

 //make a copy 
$first_array_s = $first_array; 
$second_array_s = $second_array; 

// serialize all sub-arrays 
array_walk($first_array_s,'my_serialize'); 
array_walk($second_array_s,'my_serialize'); 

// array_diff the serialized versions 
$diff = array_diff($first_array_s,$second_array_s); 

// unserialize the result 
array_walk($diff,'my_unserialize'); 

print_r($diff);