Oppure

Loading
09/02/13 20:06
Niubbo
rieccomi..
come dicevo nell'altro post ho creato una funzione apposta che mi stampi gli array ed è questa:
function stampa_array($v,$x=''){
	for($i=0;$i<count($v);$i++){
		echo $v[$i].$x;
	}	
	return;
}


Dove x è una stringa che uso come sparatore dei elementi del array.
ora il problema è quando uso il comando echo per stampare come per esempio:
echo "questi sono i numeri inseriti: ".stampa_array($a," ")."<br>";


lui mi stampa prima l'array e poi la frase cioè: 1 45 342 44 3 22 questi sono i numeri inseriti:
devo fare due echo per poter stampare giusto!!
perche secondo voi?! dove sto sbagliando?!:-|
forse è una questione di precedenza, cioè esegue la funzione poi l'echo.. come effettivamente fa?!

Niubbo8-|
Ultima modifica effettuata da Niubbo 09/02/13 20:08
aaa
10/02/13 8:55
HeDo
stampa in ordine invertito perchè stampa_array viene chiamato prima dell'echo, in quanto il suo valore di ritorno fa parte del parametro che viene passato a echo.
ci sono due modi per sistemare:

1) Far ritornare una stringa a stampa_array con l'output dell'array
2) spezzare la echo in questo modo:

echo "questi sono i numeri inseriti: ";
stampa_array();
aaa
10/02/13 9:18
Niubbo
Postato originariamente da HeDo:
1) Far ritornare una stringa a stampa_array con l'output dell'array


non so se ho capito bene quello che volevi dire, ma ho trasformato la funzione "stampa_array" in "arraytostringa". perche non ha senso lasciare echo dentro la fuzione..
quindi diventerebbe cosi:
function arraytostring($v,$x=''){
	$z="";
	for($i=0;$i<count($v);$i++){
		$z=$z.$v[$i].$x;
	}	
	return($z);
}


e quindi se la richiamo con un echo la stampo:
echo "<br>questi sono i numeri inseriti: ".arraytostring($a," ")."<br>";


è questo che intendevi?!

niubbo8-|
aaa