Ir para conteúdo

POWERED BY:

Arquivado

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

Borel

Unset x Array

Recommended Posts

Galera,Tenho um array de produtos chamado teste que está gravado em sessão, ele é declarado da seguinte forma:Apenas um exemplo1 | carro | azul | velho2 | bicicleta | preta | nova3 | onibus | branco | velhoGostaria de saber como faço para apagar todos os registros do array referente a bicicleta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa excluir sempre essa mesma palavra ou varia as palavras?

 

se varia você pode usar array_search() para procurar a palavra no array e deletar se nao pode posta ao que te dou outro exemplo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabio,Estava querendo passar o número do indice para ser excluído. Cada produto tem um índice de 0 até a quantidade de produtos que estão no array.Por exemplo, se quisesse excluir a bicicleta passaria pra função excluir o número 2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:D Claro que nao pra isso você precisa montar o script essa função ira te retornar

o numero do indice dai com o indice você exclui só você entrar no manual do php online

e ler sobre array que você vai conseguir na duvida posta ai

 

http://br2.php.net/array

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei da seguinte forma:unset($cesta[$indice]) $cesta seria o array e $indice o indice do produto a ser excluido.Só que está ocorrendo um erro. Se apago um registro do final aparentemente tudo ocorre perfeitamente, mas, se apago um produto no meio do array, apaga todo o resto.

Compartilhar este post


Link para o post
Compartilhar em outros sites
function unset_val($dado,&$array) {

 

  while(($pega = array_search($dado,$array)) > -1)

  unset($array[$pega]);

}

 

 

  $letras = array('carro','bicicleta','azul','velho');

 

 

unset_val('bicicleta',$letras);

    print_r($letras);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma que você me passou não dá certo quando se apaga um dado do meio do array.Meu array está declarado da seguinte forma.$cesta[$indice]['indice'] $cesta[$indice]['id_produto'] $cesta[$indice]['referencia'] $cesta[$indice]['descricao'] $cesta[$indice]['preco'] $cesta[$indice]['qtde'] $cesta[$indice]['imagem']E o unset está da seguinte forma.unset($cesta[$indice]); Recebe o indice que deverá ser excluído.

Compartilhar este post


Link para o post
Compartilhar em outros sites

da certo sim é que você nao ta sabendo usar se você testar apenas meu script você vai ver que funciona

e pra você usar ele no seu você precisa passar a função num loop e ir pegando cada array

Compartilhar este post


Link para o post
Compartilhar em outros sites

VocÊ vai usar assim:/

 

PHP [/tr][tr]

$arr_indice = array_search('bicicleta',$array)

//$aar_indice será a chave do array, porque array_search retorna a chave do array que está o padrão que você tá procurando.

 

unset($cesta[$arr_indice]);

//Agora que você achou o indice, é só apagar usando o unset().

[/tr]

 

Faça o teste aí. Valeu.

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.