I have passed a value from one page to another in array. I can extract first two vars by explode but I can't get the third value which is formed in an array out.

This is my array:

```
$user_rate=$_POST['user_rate'];//15000|ss|Array
list($total,$promo,$rate)=explode("|",$user_rate);

```

So I get:

```
$total=15000;
$promo=ss;
$rate=Array;

```

While Array comes from the previous page by looping the daily rate and put in an array. And I need to know what each rate is, so I wrote:

```
foreach($rate as $val){
echo "$val<br>";
}

```

But it shows nothing. How can I get this?

Updated : This is the code before the var is sent.

```
echo "
<tr>
<td align=\"right\" colspan=\"3\">Total</td>
<td align=\"right\"><label for=\"promo_3\"><input type=\"radio\" name=\"user_rate\" id=\"promo_3\" value=\"$ss_total|ss|$cost_ss\" />&nbsp;<u><b>".number_format($ss_total)."</b></u></label></td>
<td align=\"right\"><label for=\"promo_1\"><input type=\"radio\" name=\"user_rate\" id=\"promo_1\" value=\"$net_total|nc|$cost_nr\" checked/>&nbsp;<u><b>".number_format($net_total)."</b></u></label></td>
</tr>";

```

**AND THIS FORMAT OF VALUE CANNOT CHANGE BECAUSE I NEED IT FOR A LATER JAVASCRIPT EXTRACT**

While **$cost\_ss** and **$cost\_nr** are derived from database query looping.

```
while($rec=mysql_fetch_array($result)){
$cost_ss[]=$rec['rate_ss'];
$cost_nr[]=$rec['rate_nr'];
}

```
['https://Stackoverflow.com/questions/16817377', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1620626/']
this probably be a wrong `$user_rate=$_POST['user_rate'];//15000|ss|Array`

you can use `serialize / unserialize` for array
you can encode the values on the page as 

```
implode("|", array($total, $promo, implode(",",$rate));

```

Then decode it with

```
list($total, $promo, $rates) = explode("|", $_POST["user_rate"]);
$rates = explode(",", $rates);

```