---
title: "Breaking: #99898 - Continuous array keys from GeneralUtility::intExplode"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:breaking-99898-1705657466"
source: "Changelog/13.0/Breaking-99898-ContinuousArrayKeysForIntExplode.rst"
typo3-version: "13.0"
typo3-major: 13
type: "breaking"
issue: 99898
forge: "https://forge.typo3.org/issues/99898"
tags: ["PHP-API", "NotScanned", "ext:core"]
rendered: "2026-09-19T12:12:50+00:00"
---

# Breaking: #99898 - Continuous array keys from GeneralUtility::intExplode {#breaking-99898-1705657466}

See [forge#99898](https://forge.typo3.org/issues/99898)

## Description {#description}

When the method `\TYPO3\CMS\Core\Utility\GeneralUtility::intExplode()`
is called with the parameter `$removeEmptyEntries` set to `true`, the
array keys are now continuous.

Previously, the array had gaps in the keys in the places where empty values were
removed. This behavior had been an undocumented side-effect of the
implementation. It is now changed to always return an array with continuous
integer array keys (i.e., a list) to reduce surprising behavior.

Before this change (TYPO3 v12):

```php
GeneralUtility::intExplode(',', '1,,3', true);
// Result: [0 => 1, 2 => 3]
```

After this change (TYPO3 v13):

```php
GeneralUtility::intExplode(',', '1,,3', true);
// Result: [0 => 1, 1 => 3]
```

## Impact {#impact}

Calling `GeneralUtility::intExplode()` with the parameter
`$removeEmptyEntries` set to `true` and relying on gaps in the keys of
the resulting array keys may lead to unexpected results.

## Affected installations {#affected-installations}

Custom extensions that rely on the array keys of the result of
`GeneralUtility::intExplode()` to have gaps in the keys.

## Migration {#migration}

Adapt your code to not rely on gaps in the keys anymore.
