Não exibir itens do array que estiver vazio
Olá pessoal,
Creio que minha dúvida seja super simples, porém eu sou leigo em PHP ainda. Trabalho com design, estrutura, monto qualquer tipo de layout, em html e css, mas programação ainda estou iniciando.
Então, eu achei um código na net bem legal que se encaixou perfeitamente a minha necessidade.
É uma função na qual existe vários campos para inserir imagens, dai o php faz uma escolha aleatória e exibi um dos itens.
Veja por favor: http://fb.wellmelo.com/imagemaleatoria/index.php
ao apertar F5, ele vai sempre exibir uma imagem diferente, ou a mesma, é aleatório.
É este código aqui:
<?php
$imagem = array(); // Criamos um array com o nome das imagens.
$imagem[1] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto2.jpg"; // Recheamos este array
$imagem[2] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto6.jpg";
$imagem[3] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto5.png";
$imagem[4] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto1.png";
$imagem[5] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto4.jpg";
$imagem[6] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto3.png";$contador = count($imagem); // Criamos uma variavel para contar (count();) os dados que estão dentro do array.
$aleatorio = rand(1,$contador); // Esta variável irá gerar um número aleatório (rand();), partindo do 1 até o número de dados que estão dentro do array..
?>
<img src="<?php echo $imagem[$aleatorio]; ?>"/>
Daí vem minha dúvida, no meu site, algumas vezes eu preciso usar mais de 7 imagens, umas 15 talvez, mas não é em todos. Dai eu fiz o seguinte, apenas multipliquei os campos, assim:
<?php
$imagem = array(); // Criamos um array com o nome das imagens.
$imagem[1] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto2.jpg"; // Recheamos este array
$imagem[2] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto6.jpg";
$imagem[3] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto5.png";
$imagem[4] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto1.png";
$imagem[5] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto4.jpg";
$imagem[6] = "http://www.vilourenco.com.br/exemplos/phpimgaleatoria/foto3.png";
$imagem[7] = "";
$imagem[8] = "";
$imagem[9] = "";
$imagem[10] = "";
$imagem[11] = "";
$imagem[12] = "";
$imagem[13] = "";
$imagem[14] = "";$contador = count($imagem); // Criamos uma variavel para contar (count();) os dados que estão dentro do array.
$aleatorio = rand(1,$contador); // Esta variável irá gerar um número aleatório (rand();), partindo do 1 até o número de dados que estão dentro do array..
?>
<img src="<?php echo $imagem[$aleatorio]; ?>"/>
Porém não funcionou como eu esperava, ele seleciona os campos que não tem imagens também, veja: http://fb.wellmelo.com/imagemaleatoria/index2.php
Alguém pode me ajudar a fazer com que eu possa usar esses campos em branco, porém a função não exibir os campos em branco, somente os que contenham imagens?
Grato por toda ajuda! Abraço!!
Discussão (7)
Carregando comentários...