|
1 | 1 | <?php
|
2 | 2 |
|
3 | | -require_once __DIR__.'/vendor/autoload.php'; |
| 3 | +require_once __DIR__ . '/vendor/autoload.php'; |
4 | 4 |
|
5 | 5 | use Symfony\Component\Yaml\Yaml;
|
6 | 6 |
|
@@ -60,29 +60,47 @@ function extractArrayFromFile($filepath, $rootNode)
|
60 | 60 |
|
61 | 61 | $inFile1ButNotInFile2 = [];
|
62 | 62 | $inFile2ButNotInFile1 = [];
|
| 63 | +$sameKeyDifferentValues = []; |
63 | 64 |
|
64 | 65 | foreach ($list1 as $key => $value) {
|
65 | 66 | if (!array_key_exists($key, $list2)) {
|
66 | 67 | $inFile1ButNotInFile2[$key] = $value;
|
| 68 | + } elseif ($list1[$key] !== $list2[$key]) { |
| 69 | + $sameKeyDifferentValues[$key] = $list1[$key] . ' / ' . $list2[$key]; |
67 | 70 | }
|
68 | 71 | }
|
69 | 72 | foreach ($list2 as $key => $value) {
|
70 | 73 | if (!array_key_exists($key, $list1)) {
|
71 | 74 | $inFile2ButNotInFile1[$key] = $value;
|
| 75 | + } elseif ($list2[$key] !== $list1[$key]) { |
| 76 | + $sameKeyDifferentValues[$key] = $list1[$key] . ' / ' . $list2[$key]; |
72 | 77 | }
|
73 | 78 | }
|
74 | 79 |
|
75 | 80 |
|
76 | 81 | // echo result
|
77 | 82 | echo TextColorWriter::textColor('Done', TextColorWriter::BASH_PROMPT_GREEN) . PHP_EOL;
|
78 | | -echo TextColorWriter::textColor('Found in file 1 but not in file 2:', TextColorWriter::BASH_PROMPT_GREEN) . PHP_EOL; |
79 | 83 |
|
80 | | -foreach ($inFile1ButNotInFile2 as $key => $value) { |
81 | | - echo ' - ' . $key . PHP_EOL; |
| 84 | +if (false === empty($inFile1ButNotInFile2)) { |
| 85 | + echo TextColorWriter::textColor('Found in file 1 but not in file 2:', TextColorWriter::BASH_PROMPT_GREEN) . PHP_EOL; |
| 86 | + |
| 87 | + foreach ($inFile1ButNotInFile2 as $key => $value) { |
| 88 | + echo ' - ' . $key . PHP_EOL; |
| 89 | + } |
82 | 90 | }
|
83 | 91 |
|
84 | | -echo TextColorWriter::textColor('Found in file 2 but not in file 1:', TextColorWriter::BASH_PROMPT_GREEN) . PHP_EOL; |
| 92 | +if (false === empty($inFile2ButNotInFile1)) { |
| 93 | + echo TextColorWriter::textColor('Found in file 2 but not in file 1:', TextColorWriter::BASH_PROMPT_GREEN) . PHP_EOL; |
85 | 94 |
|
86 | | -foreach ($inFile2ButNotInFile1 as $key => $value) { |
87 | | - echo ' - ' . $key . PHP_EOL; |
| 95 | + foreach ($inFile2ButNotInFile1 as $key => $value) { |
| 96 | + echo ' - ' . $key . PHP_EOL; |
| 97 | + } |
| 98 | +} |
| 99 | + |
| 100 | +if (false === empty($sameKeyDifferentValues)) { |
| 101 | + echo TextColorWriter::textColor('Key in both hashmaps but different value:', TextColorWriter::BASH_PROMPT_GREEN) . PHP_EOL; |
| 102 | + |
| 103 | + foreach ($sameKeyDifferentValues as $key => $value) { |
| 104 | + echo ' - ' . $key . ' : ' . $value . PHP_EOL; |
| 105 | + } |
88 | 106 | }
|
0 commit comments