El array $_GET se compone de un campo y un valor
Código PHP:
$_GET["item_name_1"]="loquesea"
$_GET["item_name_2"]="loquesea2"
$_GET["item_price_1"]="loquesea3"
$_GET["item_price_2"]="loquesea4"
Entonces los recorres (foreach) y sacas por un lado el $campo y por otro el $valor.
Con preg_match compruebas si el $campo actual coincide con el patrón '/^item_name/', es decir que empiece por item_name. Si es así podemos recuperar el campo (item_name_1, item_name_2, item_name_3, etc) y su valor. Y hacer lo que necesitemos.
Puedes poner un if debajo para los item_price, otro para otro etc...
Y creas arrays independientes para cada tipo de dato (por poner un ejemplo).
Código PHP:
//Por cada campo del array $_GET
foreach($_GET as $campo=>$valor)
{
//Si el nombre del campo empieza por item_name
if(preg_match('/^item_name/',$campo))
{
//Lo que tengas que hacer con el valor de item_name_*
//Meterlo en un array por ejemplo
$array_item_names[$campo]=$valor;
//Vuelve al principio del bucle
continue;
}
//Si el nombre del campo empieza por item_price
if(preg_match('/^item_price/',$campo))
{
//Lo que tengas que hacer con el valor de item_price_*
//Meterlo en un array por ejemplo
$array_item_prices[$campo]=$valor;
//Vuelve al principio del bucle
continue;
}
}