Hier eine kleine Helper-Funktion, die einen Eintrag aus einem Array nach seinem Wert entfernt und die Indizies wieder aufrollt — macht natürlich nur Sinn bei numerischen Indizies.

 
# $mein_array = array('ich', 'bin', 'total', 'super')
# $mein_array = array_remove('total', $mein_array);

function array_remove($val, $arr) {
	if ($key = array_search($val, $arr))
	{
		unset($arr[$key]);
		/* $arr ist jetzt: Array (
			0 => 'ich',
			1 => 'bin',
			3 => 'super'
		)
		Der Index 2 fehlt — doof!
		*/
		$arr = array_values($arr);
		/* $arr ist jetzt: Array (
			0 => 'ich',
			1 => 'bin',
			2 => 'super'
		)
		Yay.
		*/
	}
	return($arr);
}