条件分岐をワンライナーでかく[PHP]
条件分岐分岐をかくと{}のような中括弧だらけになりますし、行数が増えます
単純な処理でしたらワンライナーでかけばすっきりします
しかし、可読性が著しく低下しますので個人でつかうときは便利ではないでしょうか
前回の記事をサンプルにやってみます
if($sample_str != ""){
foreach(explode(",",$sample_str) as $k=>$v){
$str_arr[] = explode("|",$v);
}
}
↓
if($sample_str != "") foreach(explode(",",$sample_str) as $k=>$v) $str_arr[] = explode("|",$v);
このようになります
ほかにも下記のようなこともできます
$num = 10;
if($num > 20){
$msg = "bigger than 20";
}else{
$msg = "smaller than 20";
}
echo $msg; //smaller than 20
↓
$num = 30;
$msg = $num > 20 ? "bigger than 20" : "smaller than 20";
echo $msg; //bigger than 20
ifとelseでもワンライナーでかけます
かけますが、私は最初をみたときに構文が理解できませんでしたので、誰かとやるときはおすすめできません