GARANTIR DESCONTO

Fórum Como bloquear um array caso ele tenha um determinado valor? #571305

21/11/2016

0

PHP

Oi gente, podem me ajudar?

Tem uma situação aqui que estou recebendo um array recheado de valores no php, somente o recebo com números inteiros, por exemplo:

array(1, 25, 3, 18, 14, 16, 78, 55, 50, 26);


Queria criar uma condição em que esse array se tornaria inválido para mim caso tivesse o número 14 por exemplo.

Se ele tiver 14, não uso o array, caso ele não tenha, o array seria válido, então eu o uso. Sabem como posso fazer isso?
Larissa Aguiar

Larissa Aguiar

Responder

Post mais votado

22/11/2016

Você pode fazer essa verificação implementando a função "in_array()", ela retorna booleano se o valor existir no array. Basicamente você poderia fazer algo semelhante ao que está aqui embaixo:

$arr = array(1, 25, 3, 18, 14, 16, 78, 55, 50, 26);

if(in_array(14, $arr)){
    //logica para "invalidar" seu array - poderia entregar um array vazio.
    //dessa forma você poderia evitar problemas como o Luiz Santos comentou acima.
}



Como você só pretende deixar passar o array que não possua 14, uma condição semelhante a que coloquei acima pode resolver o problema.
Bom, é apenas uma das possibilidades, pode existir melhores implementações é claro. :)

Caso queira saber mais sobre a função in_array() basta seguir o link da documentação http://php.net/manual/en/function.in-array.php

Wilson Neto

Wilson Neto
Responder

Gostei + 3

Mais Posts

21/11/2016

Luiz Santos

Bom dia Larissa.

O único caminho que você tem é ler esse array, posição por posição, atrás do valor que você vai procurar.
Só cuidado com o "depois", porque se seu sistema estiver esperando um array, se você "invalidar" o primeiro, vai ter que providenciar um segundo, ou seu sistema vai parar.

Grande abraço
Responder

Gostei + 1

22/11/2016

Diego Silva

Exatamente, iria sugestionar o uso da função in_array() do php

+1 Wilson Neto!
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar