Olá, tenho um array com seus valores. A idéia é que com um for, ou um while, primeiro percorra todos os valores e depois realize uma ação.
Quero comprovar se um valor em concreto existe dentro do array, então poderá parar de percorrer esse for e chamar a uma função.
Se o valor a comprovar não existe dentro do array quero que se chame a outra função. O problema neste segundo passo é que me chamará a esta função tantas vezes quantos valores forem da comprovação que estiverem no array.
Alguém poderia me indicar uma forma mais limpa e correta?
Agradeço desde já!
O código que provei foi este:
$larray = array();
$larray = array("um", "dois", "tres");
for ($i = 0; $i <= 2; $i++) {
if ($larray[$i] == "um"){
echo "Valor igual, chamo a FUNCAO 1 (PARAR FOR)<br />";
}
else{
echo "Não existe, chamo a FUNCAO 2 (SO UMA VEZ)<br />";
}
}
Coloque um flag para controlar se o elemento existe e utilize break para sair do loop.
$larray = array();
$larray = array("um", "dois", "tres");
$flag=false;
for ($i = 0; $i <= 2; $i++) {
if ($larray[$i] == "um"){
$flag=true; //ativo o flag
funcao_existe(); //chamo a funcao
break; // saio do loop
}
}
if(!$flag) // se nao ativei o flag
funcao_naoExiste() //lanco funcao
Veja se isto lhe ajudará.
Por Wey