为什么要在PHP中同时检查isset()和!empty()函数

来源:转载 发布时间:2019-03-23 16:11:17 阅读量:1071

isset()函数是PHP中的内置函数,它检查变量是否已设置且不为NULL。此函数还检查声明的变量,数组或数组键是否具有空值,如果是,isset()返回false,它在所有其他可能的情况下返回true。

语法:

1

bool isset( $var, mixed )

参数:此函数接受多个参数。这个函数的第一个参数是$ var。此参数用于存储变量的值。

例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

   

$num = '0';

   

if( isset( $num ) ) {

    print_r(" $num is set with isset function <br>");

}

   

// 声明一个空数组

$array = array(); 

     

echo isset($array['geeks']) ? 

'array is set.' 'array is not set.'

?>

输出:

1

2

0 is set with isset function

array is not set.

empty()函数是一种语言构造,用于确定给定变量是空还是NULL。!empty()函数是empty()函数的否定或补充。empty()函数与!isset()函数相当,而!empty()函数等于isset()函数。

例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?php

   

   

$temp = 0;

   

if (empty($temp)) {

    echo $temp . ' is considered empty';

}

   

echo "\n";

   

$new = 1;

if (!empty($new)) {

    echo $new . ' is considered set';

}

?>

输出:

1

2

0 is considered empty

1 is considered set

检查两个函数的原因:

isset()和!empty()函数类似,两者都将返回相同的结果。但唯一的区别是!当变量不存在时,empty()函数不会生成任何警告或电子通知。它足以使用任何一个功能。通过将两个功能合并到程序中会导致时间流逝和不必要的内存使用。

例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?php

 

$num = '0';

   

if( isset ( $num ) ) {

    print_r( $num . " is set with isset function");

}

   

echo "\n";

   

$num = 1;

   

if( !empty ( $num ) ) {

    print_r($num . " is set with !empty function");

}

输出:

1

2

0 is set with isset function

1 is set with !empty function


标签: PHP
分享:
评论:
你还没有登录,请先