Jump to content

Remover duplicados em variáveis


Recommended Posts

Posted

Boa tarde. 🙂

Tenho a seguinte função em laravel que chamo numa view através de json:

$returndestinos = $toursdb->table('V_CATALOGOS')
 ->groupBy('DESTINOS')
 ->where('TIPOSDEVIAGEM', 'LIKE', '%'.Input::get('tipodeviagem').'%')
 ->get(array('DESTINOS'));

if(count($returndestinos) > 0){  
 foreach($returndestinos as $r)
 {
  $structure[] =  Array(
  'titulo' => $toursdb->table('V_DESTINOS')->groupBy('TITLE')->where('ID','=',$r->DESTINOS)->first(array('TITLE')) //'titulo' =>
 );
 }  
}

return $structure; 

No url, retorna me isto: [{"":{"TITLE":"Europa"}},{"":{"TITLE":"Europa"}},{"":{"TITLE":"Am\u00e9rica do Sul"}}]

Estou com dificuldades em remover os duplicados, neste caso, Europa! Já tentei usar o array_unique, mas não tenho tido sucesso, não funciona.

Alguma sugestão? Também já tentei na view quando chamo o json no javascript mas também sem sucesso 😞

function updatedestinos( opt ) {
  $.getJSON('/ajax/get_destinos.json', { tipodeviagem: opt },
  function(data){
    if( ! data) return;

    $('#inputdestino').html('<option value="NaN">Destinos</option>');
    $.each(data, function(i, destino) {
      
      $('#inputdestino').append('<option>'+ destino.titulo['TITLE'] +'</option>');
    });
  })
}

Desde já, obrigado 😉

Posted

As funções array_walk e array_filter permitem iterar um array e aplicar uma função a cada um dos elementos. Podes usar o array_walk para aplicar uma função que verifique se o elemento é duplicado... ou iteras o array com um foreach e fazes a mesma coisa 🙂

Posted

Vou ler sobre essas funções mas terei que alterar um pouco a estrutura em cima...  Vou tentar.
O melhor será fazer isso dentro do ciclo foreach?

Obrigado pela resposta. 😉

Posted

Um foreach ou um array_walk vai dar à mesma coisa, os dois iteram o array, o foreach talvez seja mais rápido por não chamar uma segunda função por cada elemento, como no caso do array_walk, mas o resultado é o mesmo. Iteras o array e colocas num array auxiliar os elementos únicos, de acordo com o teu código de comparação.

Posted

Ou então estruturas uma base de dados onde, visto não serem necessários valores duplicados, os mesmos não se duplicam.

developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.