code: protected function compareListsWithCallback(array $aList, array $bList, $callback)
      {
          if (count($aList) != count($bList)) {
              return false;
          }
  
          foreach ($aList as $index => $value) {
              if (! call_user_func($callback, $value, $bList[$index])) {
                  return false;
              }
          }
  
          return true;
      }
docs: @param array $aList
  @param array $bList
  @param callable $callback
  
  @throws \InvalidArgumentException
  @return bool