From 527ca54b3b60da088bac131206a63da1a8118c38 Mon Sep 17 00:00:00 2001 From: Dominique Fournier Date: Tue, 31 Jul 2018 12:33:32 +0000 Subject: [PATCH] xdiff : block if provided array are multidimensional arrays git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@4317 bf3deb0d-5f1a-0410-827f-c0cc1f45334c --- xdiff.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xdiff.php b/xdiff.php index 1a77052..734e93e 100644 --- a/xdiff.php +++ b/xdiff.php @@ -127,6 +127,8 @@ class xdiff if (! is_array ($array2)) throw new \Exception ( "Invalid array2 provided to diffArray method : not a array", 406); + $array1 = array_values ($array1); + $array2 = array_values ($array2); $diff = array (); $i = 0; // $i is the index for $array1 $j = 0; // $j is the index for $array2 @@ -134,6 +136,10 @@ class xdiff { $chunk1 = array (); $chunk2 = array (); + if (key_exists ($i, $array1) && is_array ($array1[$i])) + throw new \Exception ("Can not diff a multidimensional array"); + if (key_exists ($j, $array2) && is_array ($array2[$j])) + throw new \Exception ("Can not diff a multidimensional array"); if (key_exists ($i, $array1) && key_exists ($j, $array2) && $array1[$i] === $array2[$j]) {