tibi Posted August 23, 2016 at 04:44 PM Report #598285 Posted August 23, 2016 at 04:44 PM 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 😉
Knitter Posted August 23, 2016 at 04:52 PM Report #598288 Posted August 23, 2016 at 04:52 PM 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 🙂
tibi Posted August 23, 2016 at 06:37 PM Author Report #598291 Posted August 23, 2016 at 06:37 PM 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. 😉
Knitter Posted August 23, 2016 at 07:27 PM Report #598294 Posted August 23, 2016 at 07:27 PM 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.
chbcl Posted August 25, 2016 at 04:35 PM Report #598350 Posted August 25, 2016 at 04:35 PM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now