Asi no funca?
Código PHP:
$otroArray = array();
foreach($busqueda as $k => $v){
/** Justamente con el foreach lo que haces es
* "olvidarte" de tu array original. Esto asi como
* lo tenes esta mal me parece...
* $busqueda[$k] = substr($v, 0, strlen($v) - 3);
* Fijate que a $busquedas lo estas iterando, para que
* le asignas valores nuevamente? Si queres hacer eso,
* declara otro array... */
$otroArray[$k] = substr($v, 0, strlen($v) - 3);
}