我需要你的帮助。
如何在查询字符串中传递数组值...
<?php
foreach ( $Cart->getItems() as $order_code=>$quantity ) :
$pname[]= $Cart->getItemName($order_code);
$item[]= $Cart->getItemPrice($order_code);
$qty[]=$quantity;
endforeach;
?>
<form action='expresscheckout.php?amt=<?php echo $total_price; ?>&item_name=<?php echo $pname; ?>&unit=<?php echo $item; ?>&quan=<?php echo $qty; ?>' METHOD='POST'>
<input type='image' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/>
</form>
这是我的代码示例。对于上面的示例代码,我必须在我的动作网址上传递查询字符串,即expresscheckout.php?amt = 100.等...值在$ pname []下,$项[],$数量[]。
期望输出在expresscheckout.php
中expresscheckout.php?pname = product1,product2&amp; item = item1,item2&amp; qty = 1,2,3 ....喜欢这个....
提前致谢....
答案 0 :(得分:10)
要传递数组值,您应该使用[]。 对于前。
<form method="post" action="path to script">
<input type="checkbox" id="colors[]" value="red" /> Red
<input type="checkbox" id="colors[]" value="blue" /> Blue
<input type="checkbox" id="colors[]" value="green" /> Green
<input type="checkbox" id="colors[]" value="yellow" /> Yellow
</form>
你需要在PHP中使用这样的
$colors=$_POST['colors']; //takes the data from a post operation...
$query=INSERT INTO colors VALUES('$colors');
答案 1 :(得分:0)
基本上,您只需要使用PHP的implode函数将数组转换为以逗号分隔的列表。即对于$ item数组:
$item = array('item1', 'item2');
echo implode(',', $item);
将输出:
item1,item2
所以,像这样的东西应该打印一个类似于你想要的查询字符串:
echo 'pname='.implode(',', $pname).
'&item='.implode(',', $item).
'&qty='.implode(',', $qty);
答案 2 :(得分:-1)
您需要序列化数组
在php中序列化
生成可存储的代表 值
这对存储或传递很有用 PHP的价值观不会失去他们的 类型和结构。
将序列化字符串变为 再次使用PHP值,使用unserialize()。
参考: -
http://php.net/manual/en/function.serialize.php
http://www.php.net/manual/en/function.unserialize.php
实施例
$my_array= (array('val1', 'val2','val3');
server.php?query_string=serialize($my_array)
在服务器页面
$query_string= unserialize($_REQUEST['query_string']);
现在它将采用数组格式
我希望这可以帮助你