【发布时间】:2013-05-29 15:00:46
【问题描述】:
我已经在数组中将一个值从一个页面传递到另一个页面。我可以通过explode 提取前两个变量,但我无法得到在数组中形成的第三个值。
这是我的数组:
$user_rate=$_POST['user_rate'];//15000|ss|Array
list($total,$promo,$rate)=explode("|",$user_rate);
所以我得到:
$total=15000;
$promo=ss;
$rate=Array;
而 Array 来自上一页,通过循环每日汇率并放入数组中。我需要知道每个费率是多少,所以我写道:
foreach($rate as $val){
echo "$val<br>";
}
但它什么也没显示。我怎样才能得到这个?
更新:这是发送 var 之前的代码。
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\" /> <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/> <u><b>".number_format($net_total)."</b></u></label></td>
</tr>";
这种格式的值不能改变,因为我需要它用于以后的 JAVASCRIPT 提取
而 $cost_ss 和 $cost_nr 源自数据库查询循环。
while($rec=mysql_fetch_array($result)){
$cost_ss[]=$rec['rate_ss'];
$cost_nr[]=$rec['rate_nr'];
}
【问题讨论】:
-
你认为字符串如何扩展为 PHP 数组?使用序列化/json
-
做 var_dump($rate);并查看该变量中的实际内容。我猜这是一个字符串。
-
你输出 $cost_ss 就像一个字符串,虽然它是一个数组......如果你做 echo $array;你会得到字符串“数组”。这就是这里发生的事情。请使用序列化($cost_ss),然后对您的分解数据进行反序列化($data[2])。
-
这是我测试过的,但没有运气。
$promo=explode("|",$_POST['user_rate']); foreach(unserialize($promo[2]) as $key=>$val){ echo "$key=$val<br />"; }