- var_dump: documentation ( source)
- parse_str: documentation ( source)
- preg_replace: documentation ( source)
<?php
$query1 = 'button_id798_number=798&button_id798_size=936&button_id798_price=0&button_id798_status=2&button_id799_number=799&button_id799_size=840&button_id799_price=0&button_id799_status=2&button_id800_number=800&button_id800_size=840&button_id800_price=329280';
$query2 = preg_replace('/_id(\d+)_(.+?)=/', '[$1][point_$2]=', $query1);
parse_str($query2, $out); // better to be safe than sorry
print '<pre>' ;
var_dump($query2, $out['button']);