[Tech] dividere una array in linee con php

Valerio Montagnani tech@asr-r.it
Gio 17 Dic 2009 16:31:20 CET


On Thu, 17 Dec 2009 07:25:01 -0800 (PST)
Mauro Casciari <casciarimau@yahoo.com> wrote:

Ciao a tutti.
Avevo una stringa da stampare in pdf, la cui lunghezza era molto
maggiore della larghezza della pagina pdf.
Ho cercato un metodo, grazie al vostro aiuto, per dividere la stringa
in sotto stringhe (non potendo naturalmente usare substr).
Il metodo proposto da Aldo, ha funzionato, e sono stato in grado di
stampare le righe che mi interessavano.

Poi ho trovato fpdf e ho scoperto la funzione multicell e tutta la
giornata di prove è andata persa, perchè tale funzione divide
automanticamente il testo in funzione della larghezza della pagina.

Resta, grazie a voi, un bell'esercizio di programmazione.

Grazie di nuovo a tutti, Valerio


> ----- Original Message ----
> 
> > From: Gian <g.ciotti@tirrenide.net>
> > To: Discussioni tecniche <tech@firenze.linux.it>
> > Sent: Thu, December 17, 2009 4:08:59 PM
> > Subject: Re: [Tech] dividere una array in linee con php
> > 
> > On 17.12.09, 12:40, Aldo Podavini wrote:
> > 
> > >>>> Ho un array di parole che vorrei unire per formare più righe.
> > >>>> Mi spiego meglio: l'array è composto da:
> > >>>> $des=array
> > >>>> ('Il','mio','cane','si','chiama','Ippo','ed','è','un','cucciolo');
> > >>>>
> > >>>> vorrei poter creare due stringhe così composte:
> > >>>>
> > >>>> $riga1='Il mio cane si chiama Ippo';
> > >>>> $riga2='ed è un cucciolo';
> > 
> > > $des=array
> > > ('Il','mio','cane','si','chiama','Ippo','ed','è','un','cucciolo');
> > > 
> > > $riga = array();
> > > $i=-1;
> > > 
> > > for ($y=0; $y
> > > {  if ($y%6==0)
> > >    {  $riga[++$i] = $des[$y];
> > >    }
> > >   else
> > >   {   $riga[$i] .= " ".$des[$y];
> > >   }
> > >   print "$i $y ";
> > > }
> > 
> > cosi' non crei le due stringhe richieste; una delle tante
> > alternative potrebbe essere:
> > 
> > > 
> > $des=array
> > ('Il','mio','cane','si','chiama','Ippo','ed','è','un','cucciolo');
> > 
> > $max = 6; # numero massimo di parole per riga
> > $i   = 0;
> > $j   = 1;
> > 
> > foreach ($des as $word){
> >     if (++$i > $max) {
> >         $i = 1;
> >         $j++;
> >     }
> >     ${riga.$j} .= $word.' ';
> > }
> > 
> > # output:
> > #   stringhe dal nome $riga1, $riga2, ..., $rigaN
> > #   con N == $j
> > 
> > ?>
> 
> Domanda:
> 
> A cosa serve?
> 
> 
> Mauro "Yoda!" Casciari
> 
> 
> 
>       
> _______________________________________________
> FLUG - Discussioni tecniche - tech@firenze.linux.it
> URL: https://lists.firenze.linux.it/mailman/listinfo/tech
> Archivio: http://lists.firenze.linux.it/pipermail/tech
> Ricerca nell'archivio: http://www.firenze.linux.it/search
> 


-- 
Valerio Montagnani <tech@asr-r.it>



Maggiori informazioni sulla lista flug-tech