Newsgroup: it.comp.www.php
Titolo: scusate le banalita' ...

... che sto per scrivere :-/
ho un array:
$squadre=array("juve,roma,inter");
devo popolare una <select> con i valori dell'array.
ho provato questo codice ma non mi rescituisce i valori:
$xsquadre=explode(",",$squadre);
$ns=count($xsquadre);
for ($i=0; $i<$ns; $i++)
{
   echo "<option>".$xsquadre[$i]."</option>\n";
}
<:°°(
sp-

$squadre=array("juve,roma,inter");
foreach ($squadre as $key => $value)
{
echo "<option>".$value."</option>\n";
}
------
dove sono gli errori nel codice originario?
sp-

 $squadre=array("juve,roma,inter"); 
 
Così come l'hai scritto, $squadre è un array composto da un solo
elemento, per cui nella funzione explode devi usare $squadre[0].
$xsquadre=explode(",",$squadre[0]);
Ciao.
-- 
Federico R.

 $xsquadre=explode(",",$squadre[0]);
gia'.
:-/
una cosa: col secondo codice ricavo i nomi delle squadre e popolo la 
<select>.
ma se associo un valore di array ad un altro array :
es ....  "roma" => array("x","y","z") ....
perdo il $value e si svuota.
cioe' :
$op=array("vedi","togli");
$squadre=array("juve","roma"=>$op,"inter");
foreach ($squadre as $key => $value)
{
echo "<option>".$value."</option>\n";
}
il $value diventa nullo, la pagina non da' errore ma non scrive niente.
come fare?
sp-

risolto anche questo :)
era una mia distrazione.
sp-

 la pagina non da' errore 
Sicuro? Cosa c'e' scritto nel codice HTML? Come hai impostato l'error
reporting?
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
Votami! 
http://www.phpclasses.org/vote.html
L'uomo, conscio di sbagliare, persevera.

 Sei un newbie?
si :)
 > Leggi questo 
http://url.repository.biz/go/3C
ok :)
sp-

...dichiaro gli array:
$op1 = array("vedi");
$op2 = array("vedi","togli");
$squadre=array("juve"=>$op2,"roma"=>$op1,"inter"=>$op1);
ricavo i valori e li stampo a video:
foreach ($squadre as $key => $value)
   {
   echo $key."\n";
   }
ma mi scrive "Array" al posto di $key e solo una volta indipendentemente 
da quanti valori distinti contiene l'array.
ouch... come mai? :-/
sp-

 indipendentemente da quanti valori distinti contiene l'array.
Cerca di fare un po' di piu' attenzione, questo codice:
<?php
$op1 = array ("vedi");
$op2 = array ("vedi", "togli");
$squadre = array ("juve" => $op2, "roma" => $op1, "inter" => $op1);
foreach ($squadre as $key => $value)
{
	echo $key."\n";
}
?>
funziona perfettamente, probabilmente hai modificato $squadre tra il
momento della definizione e il ciclo foreach.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C


 momento della definizione e il ciclo foreach.
hai ragione, funziona.
mea culpa: non volevo dire $key ma $value
se faccio scrivere $value mi restituisce il valore "Array", uno per ogni 
$key.
in pratica ti dico quel che devo fare..
devo scrivere un array javascript nella pagina nella forma:
var act_nomesquadra1 = new Array("vedi","togli");
var act_nomesquadra2 = new Array("togli");
var act_nomesquadra3 = new Array("vedi");
l'elenco dei valori dentro ogni new Array js deve essere scritto da php, 
ottenendo i valori da $op1, $op2, ecc..
qua c'e' il codice completo, magari si capisce meglio:
<?
$op1=array("vedi");
$op2=array("togli");
$op3=array("vedi","togli");
$squadre=array("juve"=>$op2,"inter"=>$op1,"roma"=>$op3);
foreach($squadre as $key => $value)
{
$sqlist.="var act_".$key."=new Array(".$key.");\n";
}
echo $tblist;
?>
cosi' funziona (in php) ma ottengo (in js):
var act_juve = new Array(juve);
var act_inter = new Array(inter);
var act_roma = new Array(roma);
che, apparte i doppi apici mancanti ;), sostanzialmente non va bene 
perche' non deve includere un'altra volta il nome della squadra ma le 
azioni disponibili.
dovrei invece ottenere questo:
var act_juve = new Array("togli");
var act_inter = new Array("vedi");
var act_roma = new Array("vedi","togli");
se i valori $op1 $op2 e $op3 sono scritti cosi':
$op1=array("vedi");
$op2=array("togli");
$op3=array("vedi","togli");
ottengo:
var act_juve = new Array(juve);
var act_inter = new Array(inter);
var act_roma = new Array(roma);
se invece sono scritti cosi':
$op1="vedi";
$op2="togli";
$op3='"vedi","togli"';
cioe' semplici variabili, ottengo:
var act_juve = new Array("togli");
var act_inter = new Array("vedi");
var act_roma = new Array("vedi","togli");
che e' corretto lato javascript, ma proprio un'altra cosa in php.
per altro tutto questo va a finire *esploso* dentro una <select>, dentro 
alla quale avro' le option pressappoco cosi':
<option value="vedi">vedi</option>
<option value="togli">togli</option>
ma preferirei che solo le label avessero "vedi" o "togli", mentre i 
value dovrebbero meglio essere o numerici oppure con un'altro valore.
che canaio :-/
sp-

 echo $tblist;
echo $sqlist;
sp-

 ?>
$sqlist .= "var act_" . $key . "=new Array('" . implode ("', '",
$value) . "');\n";
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E


 $value) . "');\n";
occhei.
posso chiederti perche' ho avuto bisogno di usare implode, mentre 
nell'array precedente no?
vorrei capire, cosi' che possa anche (e soprattutto) imparare.
ciao
sp-

 nell'array precedente no? 
Non capisco la tua domanda, specificala.
-- 
I am what I am, I do what I can


 Non capisco la tua domanda, specificala.
intendo dire che la prima volta e' stato usato:
< foreach($squadre as $key => $value) >
per estrarre i valori dall'array, mentre la seconda - all'interno del 
foreach - con implode(...)
immagino che sia usato implode anziche' explode in quanto il separatore 
degli argomenti non si trova ad inizio stringa, ma non ho capito perche' 
implode e non un secondo foreach?
ho detto una capperata? ^__^
sp-

 ma non ho capito perche' implode e non un secondo foreach?
Perche' scrivere tre righe di codice quando puoi risolvere tutto
elegantemente con una sola riga?
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Votami! 
http://www.phpclasses.org/vote.html


 elegantemente con una sola riga?
occhei, adesso ho capito :)
il fatto e' che sono agli inizi e prima di fare le cose per bene ho 
bisogno di capire _cosa_ si puo' e non si puo' fare.
per assurdo potevo anche pensare che un foreach non potesse contenere 
altri foreach....
che ne so :)))
grazie di nuovo.
sp-