如果您发现此问题愚蠢,请提前抱歉。但我正在我的购物车中集成2checkout支付系统。并以这种方式2checkout响应
www.mydomain.com/checkout.php/?middle_initial=&li_0_name=Jackets&li_0_productid=4&li_1_name=shirts&li_1_productid=2
现在我想获得所有产品ID和名称。
答案 0 :(得分:1)
之前我没有使用过2checkout,但建议是通过preg_match_all使用正则表达式从网址中获取产品的ID,因为它是固定模式。我试过这个,它抓住4和1作为产品ID:
$url = "www.mydomain.com/checkout.php/?middle_initial=&li_0_name=Jackets&li_0_productid=4&li_1_name=shirts&li_1_productid=2";
$matches = null;
preg_match_all('/li_\d+_productid=(?<productIds>\d+)/', $url, $matches);
print_r($matches['productIds']);
现在输出:
Array ( [0] => 4 [1] => 2 )
希望这有帮助。
答案 1 :(得分:0)
这是答案
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$matches = null;
preg_match_all('/li_\d+_productid=(?<productIds>\d+)/', $url, $matches);
print_r($matches['productIds']);
$count = count($matches['productIds']);
for ($x = 0; $x < $count; $x++) {
echo $_GET['li_'.$x.'_productid'];
echo $_GET['li_'.$x.'_name'];
}
首先使用来自url的preg匹配然后运行循环来查找product_id的总数。