Macros, for Laravel Collections.
This package currently only contains matchWith
matchWith
pairs two pre-sorted collections with eachother. It takes a comparator function and callbacks to handle both matched and unmatched items. It does this as efficiently as possible in O(n) by walking through both collections alongside each other.
collect([ 1,2,4,7,8,9,14 ]))->matchWith(
collect([ 1,2,5,6,8,10,11,13,14 ]),
function($a, $b) { return $a <=> $b; },
function($a, $b) { echo "$a matches $b"; },
function($a) { echo "$a was not found in b"; },
function($b) { echo "$b was not found in a"; },
);