[RESOLVIDO] - Resgatar valores com sc_lookup - Erro - Array to string conversion

Boa notie pessoal.
Tenho o seguinte de código:

for($i = 0;$i < count($produto__selecionados);$i++ ){
   $check_sql = "SELECT idestoque_produto, MIN(data_validade_produto) AS data_validade_produto   "
      . " FROM vw_prod_hab_dar_baixa_x"
      . " WHERE idproduto = '" . $produto__selecionados[$i] . "'";
   sc_lookup(prod_s, $check_sql);
   if (isset({prod_s[0][0]})){// Row found
      $var_idestoq_prod[$i][0]= {prod_s[0][0]};
      $_div.= $produto__selecionados[$i][0].' - '.
            $produto__selecionados[$i][1].' - '.
            $produto__selecionados[$i][3].' - '.
            $var_idestoq_prod[$i][0].'<br>';
      [local_produtos_selecionados] = $produto__selecionados;//variavel utilizada no AfterInsert para fazer o Update
   }
}

Erro que aparece = Array to string conversion
A variável $produto__selecionados[$i] está trazendo os valores corretos.
Algo estou errando nessa linha: $var_idestoq_prod[$i][0].’
’;
Assim Funciona:

[code]

for($i = 0;$i < count($produto__selecionados);$i++ ){
//$check_sql = “SELECT idestoque_produto, MIN(data_validade_produto) AS data_validade_produto "
// . " FROM vw_prod_hab_dar_baixa_x”
// . " WHERE idproduto = ‘" . $produto__selecionados[$i] . "’";
//sc_lookup(prod_s, $check_sql);
//if (isset({prod_s[0][0]})){// Row found
// $var_idestoq_prod[$i][0]= {prod_s[0][0]};
$_div.= $produto__selecionados[$i][0].’ - ‘.$produto__selecionados[$i][1].’ - ‘.$produto__selecionados[$i][3].’ - ‘.’
’;
[local_produtos_selecionados] = $produto__selecionados;//variavel utilizada no AfterInsert para fazer o Update
//}
}
[/code]Se alguém puder me dar uma dica eu agradeço.

count($produto__selecionados) - 1

Caro Jailton Boa noite.
Se assim eu fizer estarei perdendo um registro.

Celso bom dia,

A variável $var_idestoq_prod está sendo definida onde?

Olá Kleyber, Boa noite.

Aqui está o carregamento da variável:

.
.
.
if (isset({prod_s[0][0]})){// Row found      
      $var_idestoq_prod[$i][0]= {prod_s[0][0]};
.
.
.

Muitas vezes quando se usa for pode dar erro, o ideal é que uma variável temporária receba o valor da posição do vetor e quando usar como string use a variável temp e não e vetor, como segue:

//iniciando 
$_div = "";
for($i = 0;$i < count($produto__selecionados);$i++ ){
    $p_temp  = $produto__selecionados[$i][0];
    $p_temp1 = $produto__selecionados[$i][1];
    $p_temp3 = $produto__selecionados[$i][3];
   $check_sql = "SELECT idestoque_produto, MIN(data_validade_produto) AS data_validade_produto   "
      . " FROM vw_prod_hab_dar_baixa_x"
      . " WHERE idproduto = '" . $p_temp . "'";
   sc_lookup(prod_s, $check_sql);
   if (isset({prod_s[0][0]})){// Row found
      $var_idestoq_prod[$i][0]= {prod_s[0][0]};
      $_div.= $p_temp.' - '.$p_temp1.' - '.$p_temp3.' - '.{prod_s[0][0]}.'<br>';
      [local_produtos_selecionados] = $produto__selecionados;//variavel utilizada no AfterInsert para fazer o Update
   }
}

Verifica se dá certo, fiquei com uma dúvida em seu código: você vai atribuir o vetor todo $produto__selecionados para [local_produtos_selecionados] sem posição mesmo?

Caro Rodrigo.
Sobre o vetor seria assim mesmo.
Vou testar aqui e te falo como ficou.
Obrigado.

Rodrigo Goulart.
Você acertou em cheio.
Deu certo agora.
[font=Verdana][size=2px]Muito obrigado pela ajuda. [/size][/font]

Opá que legal, já apanhei muito com FOR, o ideal sempre é usar variável temporária para guardar o valor da posição. Ou usar foreach…

Abraços.