Deletar posição de um array pelo valor

6 respostas
bigbossp

Galera, preciso saber se tem uma maneira de deleta a posição de um array indicando pelo valor dele e não pelo índice. Será que existe alguma função nativa do php que ajude nisso?
Agradeço dez de já.

6 Respostas

peczenyj

olha

vc tem algumas funções para o que o php chama de array associativo ( o famoso map, ou hash )

com arrays posicionais a unica coisa que existe é verificar se um valor existe

http://php.net/manual/en/function.in-array.php

o que vc poderia fazer então é filtrar por tudo o que NAO É o que vc o valor que vc quer:

http://php.net/manual/en/function.array-filter.php

Dragoon

Passe um exemplo desse Array?
Existe sim a forma de remover indices, colunas, valores de um Array, mas, cada array tem um código peculiar, então, qual é o array?

bigbossp

Humm interessante. Mas com essa função array_filter eu posso filtrar o array por mais de um valor que não quero?

bigbossp

Exemplo:

$array1 = [1, 6, 7, 8, 9, 10 ,11];

$array2 = [8, 9, 11];

Precisaria deletar os valores do $array1 com base nos valores do $array2.

Dragoon

Com array_diff:

<?php

$array1 = [1, 6, 7, 8, 9, 10 ,11];

$array2 = [8, 9, 11];

$array3 = array_diff($array1, $array2);

var_dump($array3);

Exemplo

bigbossp

Ah valeu, deu certo com um exemplo aqui, vou tentar adaptar ao meu sistema já que os valores são dinâmicos e estão vindo do banco. Obrigado por enquanto.

Criado 28 de outubro de 2016
Ultima resposta 28 de out. de 2016
Respostas 6
Participantes 3