Ir para conteúdo

POWERED BY:

Arquivado

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

ThalysonCordeiro

[Resolvido] testar se o array esta preenchido

Recommended Posts

Pessoal, queria saber como faço pra testar se um array esta preenchido .. se estiver preenchido, quero que ele entra no IF e faça oque coloquei la, ja fiz assim e n deu

 

for($x=1;$x<15;$x++){
if(! $arquivo[$x] ==  ""){
// meu codigo
}
}

 

mais ele sempre entar no IF

 

Porque tipo, to fazendo assim, tem uma tabela de eventos, e para cada evento tem um album de fotos, limite de fotos que o cara pode cadastrar é de 14 fotos e minimo de pelo menos 1 .. ai tava fazendo assim, coloquei na pagina 14 input do tipo file e depois pego $_FILE['imagem'] na pagina do php éssas 14 imagens, ai pra jogar na tabela de fotos queria fazer assim, se o $_FILE da imagem qualquer estiver vazia ele n adiciona no insert, porque se for adicionar todas no insert, até as images que estiverem em branco vao ser adicionadas no banco, e eu n quero isso, quero adicionar só as imagens que o cara selecionou e colocou nos inputs !

 

ALGUEM TEM UMA IDEIA MAIS FACIL ? OU ME AJUDEM AI, VLW

Compartilhar este post


Link para o post
Compartilhar em outros sites

is_array()

 

Ex:

$arr = array(1,2,3);
$foo = array();

if(is_array($arr)) echo 'É';
if(is_array($foo)) echo '<br />Não É';

 

JB, não sei se dessa forma vai ser últil, pois se for declarado o array, msm que vazio ele sempre vai retornar true,

por isso sugeri ele dar um count($array), pq ai ele retorna quantos elementos tem no array. (count())

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom se eu entendi agora você quer testar se cada índice do seu array está preeenchido. Se for eu faria assim:

 

foreach($$arquivo as $conteudo){
if(strlen($conteudo)){
echo "Tem conteudo";
}else{
echo "Nao tem conteudo";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Thalyson para verificar se o array esta vazio ou não:

 

if (!empty($array)) {
   //seu codigo
} else {
   echo 'O array está vazio';
}

Quanto a verificar os valores dentro do array:

 

foreach ($array AS $valor) {
   //ex: de código
   if ($valor=='valor1') {
       // código
   }
}

Caso tenha maiores dúvidas sobre como utilizar os códigos você pode

consultar o manual do php:

http://www.php.net/empty

http://www.php.net/foreach

 

ou pode postar aqui novamente B)

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso quero comparar cada array pra ver se esta preenchido

 

mais me da um exemplo de como faria com o meu aqui

 

é o seguinte

 

for($x=1;$x<15;$x++){
if(! $arquivo[$x] == ""){
// meu codigo
}
}

// posso colocar esse foreach dentro do meu for ? me explica como posso fazer e oque significa essa variavel $conteudo ?

foreach($$arquivo as $conteudo){
if(strlen($conteudo)){
echo "Tem conteudo";
}else{
echo "Nao tem conteudo";
}

 

Valeu amigo periscuelo, acho que dessa forma vai funcionar, vo testar aqui e postar novamente ! abraços

 

ta certo isso aqui gente ?

 

for($e=1;$e<15;$e++){
       if(!empty($arquivo[$e])){
           $sql = "INSERT INTO Fotos ( Administrador_idAdministrador, Eventos_idEventos, nome ) VALUES ( '$idAdmin', '$id', '$arquivo[$e]' )";
           mysql_query($sql) or die ( header("Location: addAlbumEvento.php?idevento=$id&msg=$mensagem") );
       }
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal vamos manter a cordialidade entre os membros e focar nas soluções ok?

Não há a necessidade de ofensas de nenhuma das partes.

 

Respeitem as regras do fórum colocando também códigos dentre a tag code

e evitando quotes desnecessários.

 

Leiam o tópico abaixo por favor:

http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

 

Quanto a sua dúvida amigo Thalyson o foreach vem pra substituir o for.

Ex:

 

if (!empty($array)) {
   foreach ($array AS $valor) {
       if (!empty($valor)) {
           // seu código
       } else {
           echo 'o valor está vazio';
       }
   }
} else {
   echo 'Não há um array valido!';
}

O foreach já percorre o array sem a necessidade de fazer $array[$i].

Isto é utilizado no foreach somente em casos de arrays multi-dimensionais.

Do contrário, a cada loop $valor já será um valor diferente sem a necessidade

de indices pois o foreach já está percorrendo todos os indices.

 

ta certo isso aqui gente ?

Estude melhor as funções que lhe passei para entender como tudo funciona e

lembre-se que estamos aqui (voluntariamente) sempre com o objetivo de ajudar

na evolução de todos. Para isso parte de cada membro também a vontade de estudar

mais a linguagem.

 

http://www.php.net/manual

 

O manual do PHP oferece muito a todos nós bem como cursos que pode encontrar no fórum

e no google. Não estamos aqui para corrigir seu código no sentido de dizer se está ou não

correto oque você faz, mas sim para orientar quais caminhos deve seguir para aprender

a fazer o código de forma correta.

 

Já te dei um exemplo bacana, agora cabe a você estuda-lo e evoluir.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta certo a logica ? ta dando erro na hora do insert

 

for($e=1;$e<15;$e++){
       if(!empty($arquivo[$e])){
           $sql = "INSERT INTO Fotos ( Administrador_idAdministrador, Eventos_idEventos, nome ) VALUES ( '$idAdmin', '$id', '$arquivo[$e]' )";
           mysql_query($sql) or die ( header("Location: addAlbumEvento.php?idevento=$id&msg=$mensagem") );
        //   header("Location: addProfessorPesq.php?msg=$arquivo[$e]");
       }
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

@alexsandrofm

Você testou por acaso o is_array() nos dois casos ?

 

Teste cada caso.

Desculpe cara, não estou aqui para discutir com ninguem.

Testei e não funcionou como eu esperava.

 

ta certo isso aqui gente ?

 

for($e=1;$e<15;$e++){
       if(!empty($arquivo[$e])){
           $sql = "INSERT INTO Fotos ( Administrador_idAdministrador, Eventos_idEventos, nome ) VALUES ( '$idAdmin', '$id', '$arquivo[$e]' )";
           mysql_query($sql) or die ( header("Location: addAlbumEvento.php?idevento=$id&msg=$mensagem") );
       }
   }

Acredito que sim, só mudaria o seu for, para ele fazer a contagem automática:

ex:

 

for($e=0;$e<count($arquivo);$e++){
}

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.