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

时间:2014-09-06 14:57:24

标签: php lua

我心中有这个问题已经有一段时间了。假设我们有一个变量: $foo = $_GET['value'];(这是一个典型的例子)

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

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

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

2 个答案:

答案 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);