草庐IT

php - 在 PHP 中测试变量是否存在的最佳方法; isset() 明显坏了

来自isset()docs:isset()willreturnFALSEiftestingavariablethathasbeensettoNULL.基本上,isset()根本不检查变量是否已设置,而是检查它是否设置为NULL以外的任何值。鉴于此,实际检查变量是否存在的最佳方法是什么?我试过类似的东西:if(isset($v)||@is_null($v))(@是必要的,以避免在$v未设置时出现警告)但is_null()与isset():它在未设置的变量上返回TRUE!看来:@($v===NULL)工作原理与@is_null($v)完全一样,所以也没有了。我们应该如何可靠地检查PHP中的

php - 为什么要同时检查 isset() 和 !empty()

isset和!empty有区别吗?如果我做这个双重bool检查,这种方式是正确的还是多余的?有没有更短的方法来做同样的事情?isset($vars[1])AND!empty($vars[1]) 最佳答案 这完全是多余的。empty或多或少是!isset($foo)||的简写。!$foo,而!empty类似于isset($foo)&&$foo。IE。empty与isset做相反的事情,并额外检查一个值的真实性。或者换句话说,empty与!$foo相同,但如果变量不存在则不会抛出警告。这就是这个函数的要点:进行bool比较而不用担心设置

JavaScript isset() 等效

在PHP中,您可以执行if(isset($array['foo'])){...}。在JavaScript中,您经常使用if(array.foo){...}来做同样的事情,但这不是完全相同的语句。如果array.foo确实存在但为false或0(可能还有其他值),则条件也将评估为false。什么是PHP的isset在JavaScript中的完美等价物?在更广泛的意义上,关于JavaScript处理不存在的变量、没有值的变量等的通用、完整指南会很方便。更新:11年零11个月前我发布了这个问题,哇,它仍然有很多事件。现在,我很确定当我写这篇文章时,我只想知道如何检查关联数组(又名字典)中是否

php - isset() 和 __isset() 有什么区别?

我需要了解魔术函数__isset()和普通函数isset()。实际上php语言构造isset()和php魔术方法__isset()之间的真正区别是什么?当我用谷歌搜索时,他们告诉我__isset()是一个神奇的功能。php中常用的php函数和魔术函数有什么区别? 最佳答案 isset()它是一种检查变量或类属性初始化的语言结构:$a=10;isset($a);//trueisset($a,$b);//falseclassTest{public$prop=10;}$obj=newTest;isset($obj->prop);//tru

php - isset() 和 __isset() 有什么区别?

我需要了解魔术函数__isset()和普通函数isset()。实际上php语言构造isset()和php魔术方法__isset()之间的真正区别是什么?当我用谷歌搜索时,他们告诉我__isset()是一个神奇的功能。php中常用的php函数和魔术函数有什么区别? 最佳答案 isset()它是一种检查变量或类属性初始化的语言结构:$a=10;isset($a);//trueisset($a,$b);//falseclassTest{public$prop=10;}$obj=newTest;isset($obj->prop);//tru

php - isset() vs strlen() - 快速/清晰的字符串长度计算

我遇到了这段代码...if(isset($string[255])){//toolong}isset()比快6到40倍if(strlen($string)>255){//toolong}isset()的唯一缺点是代码不清楚-我们无法立即知道正在做什么(请参阅pekka的回答)。我们可以将isset()包装在一个函数中,即strlt($string,255),但这样我们就失去了isset()的速度优势。如何在保持代码可读性的同时使用更快的isset()函数?编辑:测试显示速度http://codepad.org/ztYF0bE3strlen()over1000000iterations7

php - isset() vs strlen() - 快速/清晰的字符串长度计算

我遇到了这段代码...if(isset($string[255])){//toolong}isset()比快6到40倍if(strlen($string)>255){//toolong}isset()的唯一缺点是代码不清楚-我们无法立即知道正在做什么(请参阅pekka的回答)。我们可以将isset()包装在一个函数中,即strlt($string,255),但这样我们就失去了isset()的速度优势。如何在保持代码可读性的同时使用更快的isset()函数?编辑:测试显示速度http://codepad.org/ztYF0bE3strlen()over1000000iterations7

isset() 的 PHP 简写?

这个问题在这里已经有了答案:WhatisthePHPshorthandfor:printvarifvarexist(11个回答)关闭9年前。如果某个变量在PHP中不存在,是否有一种速记方法可以将其分配给某个变量?if(!isset($var){$var="";}我想做类似的事情$var=$var|""; 最佳答案 PHP7更新(感谢shock_gone_wild)PHP7引入了null合并运算符,它将以下语句简化为:$var=$var??"default";PHP7之前不,对此没有特殊的运算符或特殊的语法。但是,您可以使用三元运算符

isset() 的 PHP 简写?

这个问题在这里已经有了答案:WhatisthePHPshorthandfor:printvarifvarexist(11个回答)关闭9年前。如果某个变量在PHP中不存在,是否有一种速记方法可以将其分配给某个变量?if(!isset($var){$var="";}我想做类似的事情$var=$var|""; 最佳答案 PHP7更新(感谢shock_gone_wild)PHP7引入了null合并运算符,它将以下语句简化为:$var=$var??"default";PHP7之前不,对此没有特殊的运算符或特殊的语法。但是,您可以使用三元运算符

javascript - 在 javascript/jQuery 中有类似 isset of php 的东西吗?

这个问题在这里已经有了答案:JavaScriptisset()equivalent(28个回答)关闭6年前。javascript/jQuery中有什么东西可以检查变量是否设置/可用?在php中,我们使用isset($variable)来检查类似这样的内容。谢谢。 最佳答案 试试这个表达式:typeof(variable)!="undefined"&&variable!==null如果变量已定义且不为空,则为真,这与PHP的isset的工作方式等价。你可以这样使用它:if(typeof(variable)!="undefined"&&