Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<xdiff_string_patch_binaryHuman Language and Character Encoding Support>
^xdiff FunctionsLast updated: Mon, 26 Oct 2026

xdiff_string_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_string_rabdiff — Make a binary diff of two strings using the Rabin's polynomial fingerprinting algorithm

Description

function xdiff_string_rabdiff(string $old_data, string $new_data): string|false

Makes a binary diff of two strings using the Rabin's polynomial fingerprinting algorithm implemented by » libxdiff. Compared to xdiff_string_bdiff(), this algorithm generally produces smaller diffs and operates faster, while remaining fully compatible with xdiff_string_bpatch() and xdiff_file_bpatch() for applying patches.

This function can be used with both text and binary data. The resulting diff data can later be applied to recreate the new version from the old one.

For further information about the algorithm, see the » libxdiff documentation.

Parameters

old_data

The first string containing the "old" binary data.

new_data

The second string containing the "new" binary data.

Return Values

Returns a binary diff string containing the differences between the old and new data, or false on failure.

Examples

Example #1 Creation of a binary diff between two strings

<?php
$old = file_get_contents('file_v1.txt');
$new = file_get_contents('file_v2.txt');

$diff = xdiff_string_rabdiff($old, $new);
file_put_contents('patch.rdiff', $diff);
?>

See Also


<xdiff_string_patch_binaryHuman Language and Character Encoding Support>
^xdiff FunctionsLast updated: Mon, 26 Oct 2026