PHP 持久变量类型,无需验证。

我有这个问题在我的脑海里已经有一段时间了。假设我们有一个变量: $foo = $_GET['value'];(这是一个通用示例)

我想知道PHP是否有类似Lua的东西,你可以像这样拥有:

local randomvar = "string";
local foo = randomvar or 0;

这样foo将被视为整数,如果randomvar不是整数,则将为其分配值0

点赞
用户3283616
用户3283616

是的,有一个 is_numeric 的方法

<?
    $foo = "S";
    $bar = (is_numeric($foo)) ? $foo:0;
    echo $bar;
?>

请查看文档以达到您的目的http://php.net/manual/en/function.is-numeric.php

2014-09-06 15:04:08
用户3066874
用户3066874

你可以更改它的类型:

$foo = (int) $_GET['value'];

这不会将它设置为 0,但它肯定会删除非数字字符。

或者你可以使用 is_int():

function stringToZero($var) {
    return (is_int($_GET['value'])) ? $var : 0;
}

$temp = $_GET['value']; // 因为我不确定将 $_GET 发送到函数是否正确。可能不是必要的。
$randomvar = stringToZero($temp);
unset($temp);
2014-09-06 15:13:09