3 回答

TA貢獻1783條經驗 獲得超4個贊
嘗試這樣的事情
<?php
$param_names = [
'amount',
'category',
'itemsku',
'quantity',
];
$data = [];
foreach ($_GET as $key => $val) {
foreach ($param_names as $param_name) {
if (strpos($key, $param_name) === 0) {
$idx = substr($key, strlen($param_name), 1);
$data[$idx][$param_name] = $val;
}
}
}
var_dump($data);
這是結果
array (size=2)
1 =>
array (size=3)
'amount' => string '233.55' (length=6)
'category' => string 'clothing' (length=8)
'itemsku' => string '01235654' (length=8)
'quantity' => string '1' (length=1)
2 =>
array (size=4)
'amount' => string '156.99' (length=6)
'category' => string 'accessories' (length=11)
'itemsku' => string '525124' (length=6)
'quantity' => string '3' (length=1)

TA貢獻1869條經驗 獲得超4個贊
我不確定我是否正確理解你,但你不能使用:
$category1 = filter_input(INPUT_GET,"category1",FILTER_SANITIZE_STRING);
$category2 = filter_input(INPUT_GET,"category2",FILTER_SANITIZE_STRING);
$sku1 = filter_input(INPUT_GET,"itemsku1",FILTER_SANITIZE_STRING);
$sku2 = filter_input(INPUT_GET,"itemsku2",FILTER_SANITIZE_STRING);
依此類推...除非您不知道索引參數的確切數量,否則您可以使用以下命令,它將參數存儲在數組中。
$query = explode('&', $_SERVER['QUERY_STRING']);
$params = array();
foreach( $query as $param )
{
list($name, $value) = explode('=', $param, 2);
$params[urldecode($name)][] = urldecode($value);
}
假設您要訪問鏈接https://example.com/page.php?itemsku=test1&itemsku=test2
$params['itemsku'][0]將返回:test1 $params['itemsku'][1]將返回:test2
要循環遍歷itemsku參數數組,只需執行以下操作:
foreach($params['itemsku'] as $sku){
echo $sku . "\n";
}
會輸出:
test1
test2

TA貢獻1874條經驗 獲得超12個贊
我不確定我是否理解正確,但你可以使用parse_url. 在你的情況下:
$url = 'https://example.com/page.php?cid=123456&eventid=965254&trackerid=2523654&amount1=233.55&amount2=156.99&catgory1=clothing&category2=accessories&itemsku1=01235654&itemsku2=525124&quantity1=1&quantity2=3';
$temp_array = [];
parse_str(parse_url($url, PHP_URL_QUERY), $temp_array);
var_dump($temp_array);
這將生成一個包含所有查詢參數的數組。然后您可以訪問每個參數,例如:
echo $temp_array['cid'];
echo $temp_array['catgory1'];
echo $temp_array['catgory2'];
echo $temp_array['itemsku1'];
echo $temp_array['itemsku2'];
- 3 回答
- 0 關注
- 187 瀏覽
添加回答
舉報