isset

php empty()和isset()的区别

最后都变了- 提交于 2019-12-07 20:19:45
手册中对empty()的解释如下: 描述bool empty( mixed var ) 如果 var 是非空或非零的值,则 empty()返回 FALSE 。换句话说 ,""、0、"0"、NULL、FALSE、array()、var $var ; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE 。 手册中对isset()的解释如下: isset()检测变量是否设置 描述bool isset( mixed var [, mixed var [, ...]] ) 如果 var 存在则返回 TRUE ,否则返回 FALSE 。 如果已经使用 unset()释放了一个变量之后,它将不再是 isset()。若使用 isset()测试一个被设置成 NULL 的变量,将返回 FALSE 。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。 警告:isset() 只能用于 变量 ,因为传递任何其它参数都将造成解析错误。若想检测 常量 是否已设置,可使用 defined() 函数。 当要 判断一个变量是否已经声明的时候 可以使用 isset 函数 当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数 当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数 来源: oschina 链接:

php中empty()、is_null()、isset()、(bool)的区别

匆匆过客 提交于 2019-12-07 20:19:34
注:上图 isSet() 错了,应该是小写 isset() 。 empty() 判断变量是否为空,如果变量是非空或非零的值,则 empty() 返回 FALSE。换句话说,"" 、0 、"0" 、NULL 、FALSE 、array() 、var $var; 以及没有任何属性的对象都将被认为是空的,empty()返回 TRUE。(bool) 是empty() 的反结果。 isset() 判断变量是否存在,变量是 NULL 或未赋值时返回 FALSE,其余全返回 TRUE。is_null() 是 isset() 的反结果,我们可以把它看成是 !isset,因为 is_null() 判断变量是 NULL 或未赋值时返回 TRUE,其余全返回 FALSE。 另外需要注意的是: (1) isset() 和 empty() 只检测变量,isset(NULL)、isset($a=NULL) 、isset(addslashes($name)) 、empty(NULL)、empty($a=NULL)、empty(addslashes($name))都无效,isset($a)、empty($a) 有效。 (2) is_null() 和 (bool) 可以检测值、变量、表达式,is_null(NULL)、is_null($a=NULL)、is_null(addslashes($name))、(bool

想让你的PHP程序跑的更快些吗?

本秂侑毒 提交于 2019-12-07 20:18:39
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。   1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。   2、$row[’id’] 的速度是$row[id]的7倍。   3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。   4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。   5、注销那些不用的变量尤其是大数组,以便释放内存。   6、尽量避免使用__get,__set,__autoload。   7、require_once()代价昂贵。   8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。   9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。   10、函数代替正则表达式完成相同功能。   11、str

How to check if input type button is pressed in PHP?

若如初见. 提交于 2019-12-07 11:05:19
问题 The isset() function can be used to check if the input type submit is pressed, but is there a way to check if the input type button is pressed? In my code the button does nothing but call a function on the .Onclick() event which then refreshes the page and makes a database entry inside PHP...and I want it to make the entry only after the button is pressed...and I can't use the submit type for other reasons...following is some code: function send() { var events = document.getElementById("event

PHP isset()与empty()的使用区别详解

北城以北 提交于 2019-12-07 10:33:05
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 版本:PHP 3, PHP 4, PHP 5 更多说明: 使用 unset() 释放变量之后,它将不再是 isset()。 PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。 检测常量是否已设置可使用 defined() 函数。 PHP的empty()函数 判断值为否为空 格式:bool empty ( mixed var ) 功能:检查一个变量是否为空 返回值: 若变量不存在则返回 TRUE 若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE 若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE 版本:PHP 3, PHP 4, PHP 5 更多说明: empty()的返回值=!(boolean

php empty()和isset()的区别

大城市里の小女人 提交于 2019-12-07 10:32:51
在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。 顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生 一些意外。原来,empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的 区别 : empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。 比如检测 $id 变量,当 $id=0 时,用empty() 和 isset() 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty() 认为没有配置,isset() 能够取得 $id 的值: $id = 0 ; empty ($id) ? print " It's empty . " : print " It's $id . " ; // 结果:It's empty . print " <br> " ; ! isset ($id) ? print " It's empty . " : print "

php--------使用 isset()判断字符串长度速度比strlen()更快

主宰稳场 提交于 2019-12-07 10:32:07
isset()速度为什么比strlen()更快呢? strlen()函数函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化、哈希查找,会跟随被调用的函数一起执行。因此在某些情况下,合理使用isset()可以加速你的程序。因为isset()是一种语言结构,它的执行不需要函数查找和字母小写化等。 具体通过 isset() 和 strlen() 判断字符串长度示例如下: $str='http://www.phpernote.com/php-template/436.html'; if(strlen($str)<5){echo "未满5";} if(!isset($str{5})){echo "未满5";} 下面我们来详细的分析一下strlen()和isset()这两个函数。 PHP strlen() 函数 定义和用法 strlen() 函数返回字符串的长度。 语法:strlen(string) 参数:string 描述:必需。规定要检查的字符串。 strlen() 函数实例 <?php echo strlen("Hello world!"); ?> 结果将输出: 12 PHP isset() 函数

PHP empty()与isset()与is_null()的区别

∥☆過路亽.° 提交于 2019-12-07 10:31:56
有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。 测试的类型如下: <?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> empty() 首先是empty的var_dump输出: <?php var_dump(empty($a)); var_dump(empty($b)); var_dump(empty($c)); var_dump(empty($d)); var_dump(empty($e)); var_dump(empty($f)); ?> 程序输出为: bool(true) bool(true) bool(true) bool(true) bool(true) bool(true) 从代码中可以看出,只要数据类型是否为空或假,empty()就输出true。 isset() 再看看 isset 的输出: var_dump(isset($a)); var_dump(isset($b)); var_dump(isset($c)); var_dump(isset($d)); var_dump(isset($e)); var_dump

Using ISSET with checkboxes

牧云@^-^@ 提交于 2019-12-07 10:25:14
问题 I am working on a wordpress search form to refine the current search and what Im trying to do is have the search results page with the search from and it's values set based on the query. So far I've been successful in doing so with single select drop downs and single checkboxes like so -- <!-- SINGLE SELECT --> <select name="baths" class="form-control"> <?php if (isset($_GET['baths'])) { $bths = $_GET['baths']; ?> <option value="<?php echo $bths; ?>"><?php echo $bths; ?></option> <?php } else

PHP isset($this) and using the same object method in a static and object context

孤者浪人 提交于 2019-12-07 04:10:02
问题 I'm working on a class which needs to be accessible via static function calls as well as object methods. One thing I have found is that I'm duplicating logic across multiple functions. Simplified example: class Configurable{ protected $configurations = array(); protected static $static_configurations = array(); public function configure($name, $value){ // ...lots of validation logic... $this->configurations[$name] = $value; } public static function static_configure($name, $value){ // ...lots