我的假设之后是基于假设的问题:
Javascript 有null和undefined。您可以将变量设置为null,暗示它没有值,或者您可以将其设置为undefined,暗示它不知道它是否有值 - 它根本没有设置。
PHP 有null,到目前为止我使用的方式与我null在 Javascript 中使用的方式相同。PHP 有等价物undefined吗?
不是真的,undefined在 PHP 中没有对应物。将 JSundefined与 PHP进行比较null并没有真正叠加,但它与您将要获得的一样接近。在两种语言中,您都可以分配这些值/非值:
var nothingness = undefined;
$nothing = null;
Run Code Online (Sandbox Code Playgroud)
并且,如果您声明了一个变量,但没有为其分配任何内容,那么 JS 似乎将 var 解析为undefined,而 PHP 解析(或分配)该变量null:
var nothingness;
console.log(nothingness === undefined);//true
$foo;
echo is_null($foo) ? 'is null' : '?';//is null
Run Code Online (Sandbox Code Playgroud)
但是要小心isset:
$foo = null;
//clearly, foo is set:
if (isset($foo))
{//will never echo
echo 'foo is set';
}
Run Code Online (Sandbox Code Playgroud)
知道变量是否存在的唯一真正方法 AFAIK 是使用get_defined_vars:
$foo;
$bar = null;
$defined = get_defined_vars();
if (array_key_exists($defined, 'foo'))
{
echo '$foo was defined, and assigned: '.$foo;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4718 次 |
| 最近记录: |