¿Cómo que no tiene nada que ver con el array?
Una estructura como foreach() siempre es para trabajar arrays.
Observa bien:
Código PHP:
Ver original
foreach (explode(',',$preferencia_zonas) as $id_zona=>$valor) {
$conds []= "id_zona = '$valor'";
}
echo join(' OR ', $conds);
Es el mismo resultado, sin tanto rollo.
Como consejo abre tu mente a nuevas ideas, no te estanques sólo en lo que ya "sabes".