این لینکی که دادی مربوط به ASP هست اما PHP روشش اینه که شما بیای توی Name Attribute به جای vehicle بنویسی []vehicle و انتخاب ها را به صورت آرایه سمت php بگیری و نشون بدی :
<form action="demo_form.php" method="get">
<input type="checkbox" name="vehicle" value="Bike"> I have a bike
<input type="checkbox" name="vehicle" value="Car" checked> I have a car
<input type="submit" value="Submit">
</form>
<?php
if (isset($_GET['vehicle']) && is_array($_GET['vehicle'])){
echo "Selected vehicles: ".implode(", ",$_GET['vehicle']);
}
?>
اما اگه نمیخوای این کار را انجام بدی ، باید تابع parse را خودت بنویسی :
function alt_parse_str($str) {
# result array
$arr = array();
# split on outer delimiter
$pairs = explode('&', $str);
# loop through each pair
foreach ($pairs as $i) {
# split into name and value
list($name,$value) = explode('=', $i, 2);
# if name already exists
if( isset($arr[$name]) ) {
# stick multiple values into an array
if( is_array($arr[$name]) ) {
$arr[$name][] = $value;
}
else {
$arr[$name] = array($arr[$name], $value);
}
}
# otherwise, simply stick it in a scalar
else {
$arr[$name] = $value;
}
}
# return result array
return $arr;
}
$query_string = $_SERVER['QUERY_STRING'];
if ($query_string != ""){
$GET = alt_parse_str($query_string);
echo "Selected vehicles: ".(is_array($GET['vehicle']) ? implode(", ",$GET['vehicle']) : $GET['vehicle']);
}
این کار ها لازم نیست و بهتره به روش خود php عمل کنی یا اگه ajax ی کد میزنی با jquery یا javascript کل انتخاب ها را بفرستی سمت سرور.
موفق باشی