我心中有这个问题已经有一段时间了。假设我们有一个变量:
$foo = $_GET['value'];
(这是一个典型的例子)
我想知道PHP是否有类似于Lua的东西,你可以拥有类似的东西:
local randomvar = "string";
local foo = randomvar or 0;
这样,foo
将被视为整数,如果randomvar
不是整数,则会为其分配值0
。
答案 0 :(得分:1)
是的,有方法is_numeric
<?
$foo = "S";
$bar = (is_numeric($foo)) ? $foo:0;
echo $bar;
?>
请考虑为您的目的浏览文档http://php.net/manual/en/function.is-numeric.php
答案 1 :(得分:1)
你可以施放它的类型:
$foo = (int) $_GET['value'];
这不会将其设置为0.但它肯定会删除非数字字符。
或者您可以使用is_int():
function stringToZero($var) {
return (is_int($_GET['value'])) ? $var : 0;
}
$temp = $_GET['value']; // because I'm not sure it's correct to send a $_GET to a function. might not be necessary.
$randomvar = stringToZero($temp);
unset($temp);