どもです。
例えば様々な項目の中に「url1」から「url5」までがあるとして、
これをswitchで処理したい場合があったとします。
このとき、「urlX」は同じ処理にしたい。
その場合、こういう書き方になると思います。
switch($row){
case name : name(); break;
case image: image(); break;
case url1 :
case url2 :
case url3 :
case url4 :
case url5 : url(); break;
}
これ、URLが例えば20まで増えたら?
case20個書くの?? うへぇ。嫌だぁ。
switch($row){
case preg_match("/^image_url[0-9]+$/", $col_k)===1 : url(); break;
}
と思ったら、caseには関数や条件式が使えたのか。
ここで注意したいのが、if()だとpreg_match()でいいところが、switchだとpreg_match()===1になる点。
ifの場合、preg_match()でマッチできたときは1≒trueが入って問題ないのですが、
switchの場合はきちんとtrueを返してやらないとダメっぽい。