From 06bf0ac4433cbaca196d36f8a7d005e51417f03b Mon Sep 17 00:00:00 2001 From: Viacheslav Poturaev Date: Thu, 20 Sep 2018 17:12:21 +0200 Subject: [PATCH] Fix #14 --- src/JsonDiff.php | 2 +- tests/src/Issues/Issue14Test.php | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 tests/src/Issues/Issue14Test.php diff --git a/src/JsonDiff.php b/src/JsonDiff.php index 5295f60..3604821 100644 --- a/src/JsonDiff.php +++ b/src/JsonDiff.php @@ -244,7 +244,7 @@ private function process($original, $new) $path = $this->path; $pathItems = $this->pathItems; $actualKey = $key; - if ($isArray) { + if ($isArray && is_int($actualKey)) { $actualKey -= $removedOffset; } $this->path .= '/' . JsonPointer::escapeSegment($actualKey, $this->options & self::JSON_URI_FRAGMENT_ID); diff --git a/tests/src/Issues/Issue14Test.php b/tests/src/Issues/Issue14Test.php new file mode 100644 index 0000000..48e1e9a --- /dev/null +++ b/tests/src/Issues/Issue14Test.php @@ -0,0 +1,18 @@ + "Test"], + [], + JsonDiff::REARRANGE_ARRAYS + ); + } + +} \ No newline at end of file