No, yo lo tenía distinto.
Estaba armando el ID_ARREGLO con los otros valores. Tu lo estas armando directo. En tu caso no hay que colocar el último $ID_ARREGLO[] = $fila['id_respuesta']; ya que no tendría sentido aplicar el IF.
Finalmente siguiendo tu idea quedaría:
Código PHP:
while($fila = mysql_fetch_array($ejecutar_arreglo)) {
$NA = substr_count($fila['id_respuesta'],"~");
if ($NA>"0") {
$Id_Arreglo = explode("~", " ",$fila['id_respuesta']);
foreach ($Id_Arreglo as $value) {
$ID_ARREGLO[] = $value;
}
}else{
$ID_ARREGLO[] = $fila['id_respuesta'];
}
}
Pero lo que imprime es:
4
5
//Aquí es donde deberían estar los otros valores
45
12