Есть несколько возможностей
Первое: (разделенная клавиша)
$result = array();
foreach($_POST AS $k=>$v) {
//Explode k (book_*) into an array with max 2 values
$k_array = explode("_", $k, 2);
if(isset($k_array[0]) && $k_array[0] == "book") {
$result[$k] = $v;
}
}
Или с preg_match, как указано выше, но есть и веская причина, по которой вам может понадобиться только последняя частьk = например book_8031b только 8031b
$result = array();
foreach($_POST AS $k=>$v) {
if(preg_match("/^book_(.*)$/", $k, $matches)) {
$result[$matches[1]] = $v;
}
}