Если $groupValue
равно 0
, вы получите правильные результаты, потому что
$notZeroValue[$cardSetPosition + ($groupValue*100)] = $notZeroValue[$cardSetPosition];
становится
$notZeroValue[$cardSetPosition] = $notZeroValue[$cardSetPosition];
, который перезаписывает значение массива на себя.
Далее вы удаляете элемент из массива.
Так что в конце массив будет пустым.
Но когда вы изменяете *
на +
и $groupValue
все еще на 0
:
$notZeroValue[$cardSetPosition + ($groupValue+100)] = $notZeroValue[$cardSetPosition];
вы не будете перезаписывать значения массива, вместо этого вы будете создавать новые пары ключ / значение, где ключи на 100 больше, чем старые ключи. Затем вы удаляете старый ключ / значение из массива. В итоге у вас есть 4 новые пары ключ / значение.