Antes de continuar comprueba que la variable $resultado en este punto no tiene valor o es un array vacío:
Código PHP:
$resultado = array_merge($resultado,$result);
$resultado es el merge de nada + $result (suponiendo que hayas posteado el código completo).
Por otra parte, incrementas dos veces el valor de $i, una en el for y otra forzada por tí (tal vez es lo que quieres):
Código PHP:
$resultado = array_merge($resultado,$result);
$i++; //Este incremento ya se hace en el for, necesitas otro?
Puedes intentar debugear así:
Código PHP:
error_reporting(E_ALL);
ini_set("display_errors",1);
$arVariosSitios = array(2,3,4,5,66,76,43,23,49,90,87);
$consulta = "SELECT oc.ids as ids, oc.numero as num ..... FROM orden_compra_, orden_detalle .... WHERE ....... AND ..... ";
for ($i=0;$i < sizeof($arVariosSitios) ;$i++)
{
if (($arVariosSitios[$i]))
{
$consulta .= " AND sitio = ".$arVariosSitios[$i];
}
$consulta .= " ORDER BY oc.oficina_fk, numero";
$result = mysql_query($consulta, $conexion);
$resultado = array_merge($resultado,$result);
//$i++;
}
Espero que sirva, saludos