Dúvida com Arrray_unique Pessoal estou tentando eliminar os registros duplicados com array_unique(), mas ocorre o seguinte erro: Warning: array_unique() expects parameter 1 to be array, object given in C:wampwwwgnoteappcontrolBaixarContas.class.php on line 348 ...
RA
Dúvida com Arrray_unique  
Pessoal estou tentando eliminar os registros duplicados com array_unique(), mas ocorre o seguinte erro:
Warning: array_unique() expects parameter 1 to be array, object given in C:wampwwwgnoteappcontrolBaixarContas.class.php on line 348

 
  1. <?php
  2. ...
  3. TTransaction::open('gecom');
  4. $customers = Contas::where('id','IN',$param['id'])->load();
  5. $qtde = array_unique($customers); //-> erro nessa linha
  6. foreach ($customers as $customer);
  7. {
  8. if (count($qtde) == 1)
  9. $Valor = $NewValor;//($customer->CON_VALOR - $NewValor);
  10. else
  11. $Valor = $customer->CON_VALOR;
  12. .
  13. .
  14. .
  15. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


NR

Segundo o manual do php:
"Dois elementos são considerados iguais se, e somente se, (string) $elem1 === (string) $elem2"
Ou seja, array_unique só funciona para array simples. A comparação de objetos não funciona.

Mas o "IN" do sql só deveria retornar uma ocorrência de cada id, a não ser que esse id não seja único no banco.