zoukankan      html  css  js  c++  java
  • in_array的效率

    in_array函数是个糟糕的选择。应该尽量用isset函数或array_key_exists函数来替代 。in_array函数的复杂度是O(n),而isset函数的复杂度是O(1)

    isset函数是检测变量是否设置。

    返回值:

    若变量不存在则返回FALSE

    若变量存在且其值为NULL,也返回FALSE

    若变量存在且值不为NULL,则返回TURE

    同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE

    PHP的empty()函数 

    格式:bool empty(mixed var)

    功能:检查一个变量是否为空

    返回值:

    若变量不存在则返回TRUE

    若变量存在且值为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回TURE

    若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回FALSE

    empty()只能用于变量,传递任何其它参数都将造成Paser error而终止运行

    检测常量是否已设置可使用defined()函数。

    empty() 与 isset() 的一个简单比较

    复制代码
     1 <?php 
     2 $var = 0; 
     3 // 结果为 true,因为 $var 为空 
     4 if (empty($var)) { 
     5 echo '$var is either 0 or not set at all'; 
     6 } 
     7 // 结果为 false,因为 $var 已设置 
     8 if (!isset($var)) { 
     9 echo '$var is not set at all'; 
    10 } 
    11 ?> 
    复制代码

    当要判断一个变量是否已经声明的时候可以使用isset函数

    当要判断一个变量是否已经赋予数据且补位空,可以用empty函数

    当要判断一个变量存在且不为空,先isset函数,再用empty函数

  • 相关阅读:
    相交链表 3种方法
    旋转数组 空间复杂度为O(1) 的2 种方法 + 1种空间复杂度O(n)
    各种sort排序总结
    我写过的bug...
    裸BFS题若干
    luence
    mysql 找出外键等约束
    mysql (8.0 或以下)数据 卸载, 安装, 创建用户, 赋权
    navicat 导入sql文件 的正确方法
    [转] git clone 远程分支
  • 原文地址:https://www.cnblogs.com/cjjjj/p/9999989.html
Copyright © 2011-2022 走看看