Shorthand 或 Dispatch switch-statement with function?
Shorthand or Dispatch switch-statement with function?
有什么办法可以shorthand或者dispatch这样一行代码吗?
$asd='http://asd.asd';
// $asd='asd@asd.asd';
// $asd='+123123';
switch ($asd){
case strpos($asd, 'http')===0:
$qwe='href';
break;
case strpos($asd, '@')>1:
$qwe='mailto';
break;
case strpos($asd, '+')===0:
$qwe='tel';
$break;
}
<?php
$asd = 'http://asd.asd';
// $asd = 'asd@asd.asd';
// $asd = '+123123';
$qwe = (strpos($asd, 'http') === 0 ? 'href' : (strpos($asd, '@') > 1 ? 'mailto' : (strpos($asd, '+') === 0 ? 'tel' : '')));
echo $qwe;
?>
它不容易阅读,但您希望它是一行代码。它称为三元运算符,您可以阅读更多相关内容 here。
有什么办法可以shorthand或者dispatch这样一行代码吗?
$asd='http://asd.asd';
// $asd='asd@asd.asd';
// $asd='+123123';
switch ($asd){
case strpos($asd, 'http')===0:
$qwe='href';
break;
case strpos($asd, '@')>1:
$qwe='mailto';
break;
case strpos($asd, '+')===0:
$qwe='tel';
$break;
}
<?php
$asd = 'http://asd.asd';
// $asd = 'asd@asd.asd';
// $asd = '+123123';
$qwe = (strpos($asd, 'http') === 0 ? 'href' : (strpos($asd, '@') > 1 ? 'mailto' : (strpos($asd, '+') === 0 ? 'tel' : '')));
echo $qwe;
?>
它不容易阅读,但您希望它是一行代码。它称为三元运算符,您可以阅读更多相关内容 here。