Borel 0 Denunciar post Postado Fevereiro 17, 2005 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
Fabyo 66 Denunciar post Postado Fevereiro 17, 2005 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
Borel 0 Denunciar post Postado Fevereiro 17, 2005 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
Fabyo 66 Denunciar post Postado Fevereiro 17, 2005 Entao essa função que eu te passei ela retorna o indice olha no manual pra você ver só usar ela ;) Compartilhar este post Link para o post Compartilhar em outros sites
Borel 0 Denunciar post Postado Fevereiro 18, 2005 Mas esta função não apaga os dados referentes ao indice encontrado. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 18, 2005 :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
Borel 0 Denunciar post Postado Fevereiro 18, 2005 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
Fabyo 66 Denunciar post Postado Fevereiro 18, 2005 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
Borel 0 Denunciar post Postado Fevereiro 18, 2005 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
Fabyo 66 Denunciar post Postado Fevereiro 18, 2005 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
klawdyo 0 Denunciar post Postado Fevereiro 19, 2005 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