Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, tudo bom?
Entao.. tenho um relatorio que imprime credenciais de membros... primeiro a frente de todos.. depois o verso.... para que seja possivel imprimir o verso do relatorio no verso da pagina q foi impresso na frente... Ok?!
SóQ.. o relatorio vai imprimir, por exemplo 5 carteiras e duas carteiras por linha. A pagina da frente vai ficar assim:
1 - 2
3 - 4
5
E a do verso a mesma coisa:
1 - 2
3 - 4
5
Mas quando vc vira a folha para imprimir, o verso do 1 fica no 2 e vice-versa.
Bom, preciso reordenar o array resultante para que as informações do verso fiquem numa ordem semelhante a essa:
2 - 1
4 - 3
- 5
Posso fazer com usort()? Como implemento um funcao que reordene o array dessa forma?!?
Abraços
wolf... Obg..
Tava tentando adaptar sua ideia mas nao consegui com o cenário que estou enfrentando..
No meu caso, tenho um array de objetos, que leio com um foreach. A primeira vez leio normalmente e exibo a frente da carteirinha. Exibo todas as frentes. Ordem normal de chaves do array: 1,2,3,4,5, ...
No segundo foreach, preciso exibir o verso, porém as chaves do array precisam estar invertidas. Agora a ordem é: 2,1,4,3,x,5.
Como eh q procedo ?
creio que da pra fazer isso só com CSS, sem alterar o seu php
.carteira{float:left;width:50%}
.carteira:nth-child(even){float:rigth;}
Pois eh... O problema é que preciso fazer uma quebra de pagina entre a frente e o verso... e isso eh feito com page-break no css... acontece que o page-brek-[inside, before, after] não funciona se houver float em heranças superiores... tentei resolver de várias maneiras...
Além de tudo isso, a classe MPDF (PHP) não consegue interpretar corretamente a biblioteca css que uso em todo o projeto.. entao pensei: Vamos reordenar o array... deve ser mais fácil...
e aqui estamos.
Então, pessoal.. consegui!
foreach($carteiras as $ch=>$vl) {
if($ch % 2 == 0) {
$versos[($ch + 1)] = $vl;
}else{
$versos[($ch - 1)] = $vl;
}
}
ksort($versos);
Seguindo a ideia do wolf, eu incrementava quando era par e decrementava quando era impar.
Como o primeiro elemento [0] seria PAR, ele iria ganhar mais 1, o segundo seria impar [1] e iria perder 1...
Depois e so reordenar pela nova chave adquirida... voilá!
Obg pela força de todos