【问题标题】:How to get all products name and ids from 2checkout response process如何从 2checkout 响应过程中获取所有产品名称和 ID
【发布时间】:2016-10-23 15:35:17
【问题描述】:

您好,如果您觉得这个问题很愚蠢,请提前抱歉。但我在我的购物车中集成了 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 和名称。

【问题讨论】:

    标签: php integration payment 2checkout


    【解决方案1】:

    我以前没有使用过 2checkout,但建议使用正则表达式通过 preg_match_all 从 url 获取产品的 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 )
    

    希望这会有所帮助。

    【讨论】:

    • 感谢@Osama 的回答。你的回答对我有用。实际上,我需要循环中的每个产品 ID、名称、数量和其他信息。我在这里做的是$count = count($matches['productIds']);for ($x = 0; $x &lt; $count; $x++) {echo $_GET['li_'.$x.'_productid'];echo $_GET['li_'.$x.'_name'];}仍然希望有更好的解决方案。我知道会有更好的解决方案。
    【解决方案2】:

    这就是答案

    $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 match 找到 product_ids 的总数,然后运行循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2015-03-19
      • 2020-08-21
      相关资源
      最近更新 更多