diff --git a/typo3/sysext/core/Classes/Utility/ArrayUtility.php b/typo3/sysext/core/Classes/Utility/ArrayUtility.php index 79254a9f5071397f0091b955ab54a0a9004fa3e3..b9efd5e07cb66f39993cceec20b2bba2c0559f73 100644 --- a/typo3/sysext/core/Classes/Utility/ArrayUtility.php +++ b/typo3/sysext/core/Classes/Utility/ArrayUtility.php @@ -571,7 +571,7 @@ class ArrayUtility $level++; $allKeysAreNumeric = true; foreach ($array as $key => $_) { - if (is_numeric($key) === false) { + if (is_numeric($key) === false || (is_string($key) && StringUtility::endsWith($key, '.'))) { $allKeysAreNumeric = false; break; } diff --git a/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php index 767d4e5d9687efb5a24b3fb890b2a83b0337f2f7..2c2771e84e13e679e6dfcd72c479d0204edcdc1e 100644 --- a/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php +++ b/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php @@ -1516,6 +1516,10 @@ class ArrayUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase [0 => 'Zero', '1' => 'One', 'Two' => 'Two'], [0 => 'Zero', '1' => 'One', 'Two' => 'Two'], ], + 'returns unchanged if keys end with a dot' => [ + ['2.' => 'Two', '1.' => 'One', '0.' => 'Zero'], + ['2.' => 'Two', '1.' => 'One', '0.' => 'Zero'], + ], 'return self with nested numerically keyed array' => [ [ 'One',