Newsgroup: it.comp.www.php
Titolo: [NEWBIE]-STRINGHE: stamparle, operazioni dentro istruzione di assegnamento

Ciao a tutti, sto avendo delle difficoltà in uno script dove cerco di
assegnare ad un array una stringa e, nella stessa istruzione, di fare
delle operazioni all'interno di tale stringa prima che avvenga
l'assegnamento.
Ho letto su 
www.php.net
 la documentazione riguardo le stringhe ma non ho
ancora le idee abbastanza chiare su questo punto.
Come si scrive correttamente questo codice?
[....]
for($i=3, $j=-3; $i<=$ultima; $i++, $j++){
  if( $j==0 )
   $indice[$i]="<div class=\"curr_t_pg_indx\">{$req_pag}</div>";
  else
   $indice[$i]="<a?s_id={$_GET['s_id']}&page=".($req_pag+($j)-1)."\"
class=\"t_pg_indx\">".($req_page+($j))."</a>";
}
Pensavo che in fase di assegnamento di una stringa ad una variabile come
in questo caso si potesse con questa sintassi ("string1".xxx."string2")
(dove in xxx fra parentesi metto delle variabili numeriche e faccio
semplici operazioni algebriche) fare delle operazioni sulle variabili
indicate nella stringa. A quanto pare, dal debugging che sto facendo, ci
devono essere delle restrizioni perchè se anzichè eseguire qui le
operazioni le faccio PRIMA su delle variabili temporanee che stamperò
direttamente (senza quindi fare operazioni nell'assegnamento della 
stringa a $indice[$i]) i problemi
**sembrano** svanire (non ho ancora controllato accuratamente, chiedo a
voi per avere una linea guida da seguire in futuro).
In un altro punto del codice questo non mi sembrava desse problemi:
$indice[$i]="<blablas_id={$_GET['s_id']}&page=".($i-1)."\" 
class=\"abc\">{$i}</a>";
Eppure è sempre una semplice operazione algebrica su delle variabili il 
cui risultato dovrebbe venire convertito in string e concatenato fra le 
due in cui è stato scritto...
Volevo inoltre chiedervi quando conviene usare "print()" e quando "echo"
nella stampa di stringhe.
In questo codice, ad esempio, ho fatto bene ad usare "echo"?
foreach ($indice as $arr_element)
  echo $arr_element."&nbsp;";
(stampa tutti gli elementi dell'array, che in questo caso particolare 
sono stringhe).
  ciao e grazie anticipatamente per le riposte!


SCUSATE, HO INVIATO LA BOZZA ANZICHÈ LA VERSIONE DEFINITIVA.
Qui ho cambiato qualcosa, scusate ancora:
Ciao a tutti, sto avendo delle difficoltà in uno script dove cerco di
assegnare ad un array una stringa e, nella stessa istruzione, di fare
delle operazioni all'interno di tale stringa prima che avvenga
l'assegnamento.
Ho letto su 
www.php.net
 la documentazione riguardo le stringhe ma non ho
ancora le idee abbastanza chiare su questo punto.
Come si scrive correttamente questo codice (la parte su cui ho dei dubbi
di avere scritto bene è quella che segue l'else)?
[....]
for($i=3, $j=-3; $i<=$ultima; $i++, $j++){
  if( $j==0 )
   $indice[$i]="<div class=\"curr_t_pg_indx\">{$req_pag}</div>";
  else
   $indice[$i]="<a?s_id={$_GET['s_id']}&page=".($req_pag+($j)-1)."\"
class=\"t_pg_indx\">".($req_page+($j))."</a>";
}
Pensavo che in fase di assegnamento di una stringa ad una variabile si
potesse con questa sintassi ("string1".xxx."string2")
(dove in xxx fra parentesi metto delle variabili numeriche e faccio
semplici operazioni algebriche) fare delle operazioni sulle variabili
indicate nella stringa. A quanto pare, dal debugging che sto facendo, ci
devono essere delle restrizioni perchè se anzichè eseguire le
operazioni nell'istruzione di assegnamento le faccio PRIMA, su delle
variabili temporanee che stamperò
direttamente (senza quindi fare le operazioni nell'assegnamento), i
problemi
**sembrano** svanire (non ho ancora controllato accuratamente, chiedo in
ogni caso qui a chi ha esperienza in modo da avere una linea guida da 
seguire
in futuro, sono agli inizi col PHP).
Volevo inoltre chiedervi quando conviene usare "print()" e quando "echo"
nella stampa di stringhe.
Nel codice a seguire, ad esempio, ho fatto bene ad usare "echo"?
foreach ($indice as $arr_element)
  echo $arr_element."&nbsp;";
Quando conviene preferire "print()"?


 "echo" nella stampa di stringhe.
Per le differenze tra echo e print puoi vedere questo documento:
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
. 
Ciao.
-- 
Federico


	ciao e grazie ancora!

 XHTML?
Alcuni IDE mettono a disposizione anche un debugger, ma non saprei dirti
di più.
Ciao.
-- 
Federico


Tutto OK! (poi vabbè ho corretto altri bug nella funzione ma quello era 
il principale errore che non vedevo).
-- 
(Freedom for Burma)