Il problema è che cpt2 non è definita quando fai

Codice PHP:
if($cpt2 == 0
Quindi definiscila. Prima del foreach metti

Codice PHP:
$cpt2 0
In questo caso il comportamento è identico ma senza notice a causa della semplice uguaglianza == (non strict ===): una variabile non definita è == 0.