johnvickzor 0 Denunciar post Postado Agosto 12, 2017 Olá Estou com uma dúvida em uma página que estou alterando.. Preciso combinar dois arrays. O primeiro array é o getResult() que recebe as notícias do banco de dados e o segundo é o getResult() que recebe os anúncios que ficarão entre estas notícias. Vou tentar ser claro, veja: Citar Notícia 1 Notícia 2 Notícia 3 Notícia 4 Notícia 5 - ANÚNCIO 1 Notícia 6 Notícia 7 Notícia 8 Notícia 9 Notícia 10 - ANÚNCIO 2 Gostaria de intercalar estes anúncios entre as notícias de forma que quando não existir mais anúncios no banco, ele volte a mostrar o anúncio com ID #1. Alguém poderia me ajudar? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
iJuunin 4 Denunciar post Postado Agosto 12, 2017 Deixa eu ver se entendi, você quer adicionar o getResult() de anuncios na array das noticias para que num certo intervalo de noticias, ele venha a exibir o anuncio? Compartilhar este post Link para o post Compartilhar em outros sites
johnvickzor 0 Denunciar post Postado Agosto 12, 2017 10 minutos atrás, iJuunin disse: Deixa eu ver se entendi, você quer adicionar o getResult() de anuncios na array das noticias para que num certo intervalo de noticias, ele venha a exibir o anuncio? Exatamente. Matou a charada. Compartilhar este post Link para o post Compartilhar em outros sites
iJuunin 4 Denunciar post Postado Agosto 12, 2017 Cara, espero que ajude ... <?php $arrayNoticias = array( 'noticia 1', 'noticia 2', 'noticia 3', 'noticia 4', 'noticia 5', 'noticia 6', 'noticia 7', 'noticia 8', 'noticia 9', 'noticia 10', ); $arrayAnuncios = array( 'ANUNCIO 01', 'ANUNCIO 02' ); /* Intervalo de noticias que serão puladas */ $interval = 5; /*Reparte a array para que possa ser implementada o array de anuncios */ $chunk = array_chunk($arrayNoticias, $interval, true); /*Conta quantas vezes foi repartida */ $countNot = count($chunk); /* Faz um loop pra exibir a array de noticias */ for ($i=0; $i < $countNot; $i++) { /*Verifica se existe algum anuncio pra ser exibido */ if(array_key_exists((int)$i, $arrayAnuncios)){ /*Adiciona a array dos anuncios dentro da array de noticias */ $chunk[$i][] = $arrayAnuncios[$i]; } /*Exibe a array completa */ var_dump($chunk[$i]); } No lugar as arrays $arrayNoticias e $arrayAnuncios, tu substitui pelo array que o teu getResult está retornando ... Espero que ajude! Abraço Compartilhar este post Link para o post Compartilhar em outros sites
johnvickzor 0 Denunciar post Postado Agosto 12, 2017 Show de bola cara. Era isso que eu precisava. Já consegui adaptar ao meu script. Mas, tem uma coisa que eu já gostaria de implementar. Que seria, por exemplo: Quando não existir mais anúncios, no caso ele já tiver impresso os 2 anúncios, teria como repetir o primeiro e depois o segundo anúncio respectivamente? Veja: NOTICIA 1 NOTICIA 2 NOTICIA 3 NOTICIA 4 NOTICIA 5 anuncio 1 NOTICIA 6 NOTICIA 7 NOTICIA 8 NOTICIA 9 NOTICIA 10 anuncio 2 NOTICIA 11 NOTICIA 12 NOTICIA 13 NOTICIA 14 NOTICIA 15 anuncio 1 ....continua Compartilhar este post Link para o post Compartilhar em outros sites
iJuunin 4 Denunciar post Postado Agosto 12, 2017 Bom, no meu conhecimento, poderia usar o array_rand para buscar uma array aleatoria dentro arrayAnuncios. Ficaria assim : $arrayNoticias = array( 'noticia 1', 'noticia 2', 'noticia 3', 'noticia 4', 'noticia 5', 'noticia 6', 'noticia 7', 'noticia 8', 'noticia 9', 'noticia 10', 'noticia 11', 'noticia 12', ); $arrayAnuncios = array( 'ANUNCIO 01', 'ANUNCIO 02' ); /* Intervalo de noticias que serão puladas */ $interval = 3; /*Reparte a array para que possa ser implementada o array de anuncios */ $chunk = array_chunk($arrayNoticias, $interval, true); /*Conta quantas vezes foi repartida */ $countNot = count($chunk); /* Faz um loop pra exibir a array de noticias */ for ($i=0; $i < $countNot; $i++) { /*Verifica se existe algum anuncio pra ser exibido */ if(!empty($arrayAnuncios)){ $buscaAleatoria = array_rand($arrayAnuncios, 1); $chunk[$i][] = $arrayAnuncios[$buscaAleatoria]; } /*Exibe a array completa */ var_dump($chunk[$i]); } Compartilhar este post Link para o post Compartilhar em outros sites
johnvickzor 0 Denunciar post Postado Agosto 12, 2017 Hum.. É mas, eu precisaria mesmo na sequencia.. ANUNCIO 1 ANUNCIO 2 ANUNCIO 1 ANUNCIO 2 Compartilhar este post Link para o post Compartilhar em outros sites
johnvickzor 0 Denunciar post Postado Agosto 12, 2017 Como eu poderia fazer? Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Agosto 13, 2017 tu pode também iterar uma array dentro da outra $t1 = count($array1); $t2 = count($array2); $n = 0; for($a = 0; $a < $t1; $a++){ echo $array1[$a]; if($a % 5 == 0){ echo $array2[$n]; if($n < $t2){ $n = $n + 1; }else{ $n = 0; } } } vê aí se consegue entender Compartilhar este post Link para o post Compartilhar em outros sites