Привет Извините заранее, если вы нашли этот вопрос тупым. Но я интегрирую платежную систему 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
Теперь я хочу получить все идентификаторы и названия продуктов.
Я не использовал 2checkout раньше, но советую использовать регулярные выражения через preg_match_all получить идентификатор продуктов из URL, поскольку это фиксированный шаблон. Я попробовал это, и он взял 4 и 1 в качестве идентификаторов продукта:
$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 )
Надеюсь это поможет.
Вот ответ
$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'];
}
Сначала найдите общее количество product_ids, используя preg match из url, а затем выполните цикл.