チェックボックスに1つもチェックが付いていない=空のデータ、
つまり配列じゃないぞゴルァというエラーであると思ったので、
if($_POST["ShopOpenW"]==""){
$_POST["ShopOpenW"]=array();
}
として空白のときは空の配列になるようにしました。
期待通りの動作にはなりましたがなんか正統な方法じゃないような
気がするのでもっといいアイデアがあればお願いします。

>>523
あえてエラーレヴェルは下げない方向で・・・
ヘタレなので別の部分で対処すべき不具合も見えなくなっちゃうかも
なので・・・。