如何使交换机尊重数据类型(是否有更好的解决方法,如果/ else)?
switch ($value) {
case '0' :
echo 'zero';
break;
case '' :
echo 'empty';
break;
case null :
echo 'null';
break;
case false :
echo 'false';
break;
default :
echo 'default';
break;
}
Kin*_*nch 29
switch (true) {
case $value === '0' :
echo 'zero';
break;
case $value === '' :
echo 'empty';
break;
case $value === null :
echo 'null';
break;
case $value === false :
echo 'false';
break;
default :
echo 'default';
break;
}
Run Code Online (Sandbox Code Playgroud)
我认为,它比if-elseif下面给出的链更具可读性:
if ($value === '0') {
echo 'zero';
} else if ($value === '') {
echo 'empty';
} else if ($value === null) {
echo 'null';
} else if ($value === false) {
echo 'false';
} else {
echo 'default';
}
Run Code Online (Sandbox Code Playgroud)
我相信你可以尝试if-then以便于使用'==='代替:
<?php
$value = 0;
if ($value==="") {
echo "blank (string)";
}
else
if ($value==="0") {
echo "zero (string)";
}
else
if ($value===false) {
echo "false (boolean)";
}
else
if ($value===null) {
echo "null (object)";
}
else
if ($value===0) {
echo "zero (number)";
}
else {
echo "other";
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8697 次 |
| 最近记录: |