ある配列一覧から、キー名ではなく、データ名でデータを取り除く関数を作りたいと思ってます。

//リスト
$list = array(
1 => 大阪
2 => 京都
3 => 栃木
)

//リストから削除したい項目
$delete = array(
栃木
)

array_delete($list , $delete)

//出力結果
array(
1 => 大阪
2 => 京都
)

キー名を元に削除するのなら
unset($list[3])
なんかでいけるとおもうのですが、
VALUE名を元に、データを取り除くにはどういう方法が考えられるでしょうか?