A ver, creo que no estás leyendo el manual.
La instrucción unset() elimina valores de un array mediante su clave, no por su valor:
Código PHP:
Ver original$x[0] = 'cero';
$x[1] = 'uno';
// MAL
// BIEN
Ahora, para conocer el índice de un valor en concreto puedes usar array_search():
Por favor
lee bien el manual.