Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sarinhapaes

[Resolvido] Dados separados por vírgula em php

Recommended Posts

Pessoal, to com um probleminha... preciso descrever pro usuario os itens de um carro (ex.: ar condicionado, computador de bordo, etc.). Estes itens estão no banco de dados, são recebidos via $_POST, tudo funcionando certinho. Porém, entre um item e outro, eu coloquei uma vírgula fora do php pra separar cada um deles. O problema é que se o administrador não selecionar o determinado item, a pagina retorna pro usuário desta maneira: Ar condicionado, Computador de Bordo, , , , , , , , , , , , , , , ,

Ou seja, vem vazio, porque no banco está vazio. Alguem poderia me dar uma idéia de como resolver este problema? Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar array_filter para fazer a filtragem, ficaria assim:

 

<?php
$itens = array( 'Ar condicionado', 'Computador de Bordo' , '' , '' , '' , '' );

var_dump( implode( ',' , array_filter( $itens , create_function( '$i' , 'return !empty( $i );' ) ) ) );

Compartilhar este post


Link para o post
Compartilhar em outros sites

João, não precisa passar nenhum callback quando quer remover elementos vazios de um array. array_filter() já faz isso por definção xD.

 

Assim dá na mesma:

 

<?php
$itens = array( 'Ar condicionado', 'Computador de Bordo' , '' , '' , '' , '' );

var_dump( implode( ',' , array_filter( $itens ) ) );

Compartilhar este post


Link para o post
Compartilhar em outros sites

array_filter() já faz isso por definção xD.

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

André, fiz como você falou e deu certo, muito obrigada. Mas antes dos itens aparece assim (string 148). O que é isso? Como posso retirá-lo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas antes dos itens aparece assim (string 148). O que é isso? Como posso retirá-lo?

 

Isso é mostrado por causa da função var_dump. O João colocou apenas para você ver bem ao certo como iria retornar.

 

Deixe da seguinte forma:

 

 

echo implode( ',' , array_filter( $itens ) );

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.