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
Warning: array_unique() expects parameter 1 to be array, object given in C:wampwwwgnoteappcontrolBaixarContas.class.php on line 348
- <?php
- ...
- TTransaction::open('gecom');
- $customers = Contas::where('id','IN',$param['id'])->load();
- $qtde = array_unique($customers); //-> erro nessa linha
- foreach ($customers as $customer);
- {
- if (count($qtde) == 1)
- $Valor = $NewValor;//($customer->CON_VALOR - $NewValor);
- else
- $Valor = $customer->CON_VALOR;
- .
- .
- .
- ?>
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.