PHP isset, array_key_exists配合使用, 并解决效率问题

如果有一个数组,

$arr = array(‘one‘ => null, ‘two‘ => 1, ‘three‘ => 2);

问题, 如果要判断数组中‘one‘这个键是否存在..如果单纯用 isset 判断会出现问题

if(isset($arr[‘one‘])){

  echo ‘存在‘;

}esle{

  echo ‘不存在‘;

}

输出 : 不存在

isset对于判断null这种值, 会认为没有在内存中开辟空间, 相当于销毁变量.

所以希望有效率, 并且能准确判断键是否被创建, 则应该这样写 :

if(isset($arr[‘one‘]) || array_key_exists($arr[‘one‘])){

  echo ‘存在‘;

}else{

  echo ‘不存在‘;

}

这样, 左边的isset如果为true后就会直接判断为存在, 不执行array_key_exists函数, 效率得以提高.

时间: 2024-11-10 01:31:08

PHP isset, array_key_exists配合使用, 并解决效率问题的相关文章

香港服务器如何提高效率?

网络时代(www.abcde.cn)消息称,不久前很多香港服务器老用户在集体抱怨香港服务器的效率变慢了,根据我方的调查发现,造成香港服务器效率慢的原因主要是他们使用的服务器是老版本了,并且又是跟别人共同租用一个服务器的.随着时代的发展,以前很多老版服务器都不堪重负了,因为随着企业的发展,浏览人数也在增加,旧服务器已经满足不了用户的需要了,并且以前的的服务器已经慢慢满足不了现在的网络环境了.所以呢,我们为此提出了一下几点建议: 1.进行整合和虚拟化多台服务器.企业根据自身的运行需要,对自己的服务器

通过心理学知识提高问题定位与解决能力(下)

前言 本文上篇主要介绍了解决问题的心理过程以及问题表征阶段影响问题解决的一些心理因素,并分享了另外相关案例和指导意见.本文继续介绍影响问题解决的其它心理因素. 影响问题解决的心理因素 自我监控技能 大胆假设,小心求证 ––– 胡适 在设计好解题计划后,问题解决者并不是简单地执行解题计划,而是要时刻自己监控自己对解题计划的执行是否正确.解题计划本身是否正确.这有点类似行车过程中,GPS导航软件时刻检查车辆当前的行车路线与之事先规划的路线是否吻合.若不吻合,则导航软件会提示车主车辆已偏离规划的路线.

C++ 学习笔记(一些新特性总结 1)

C++ 学习笔记(一些新特性总结 1) 虽然我也用了 C++ 有挺多年了,但是一直本着够用就行的原则,没有特别深入的学习过C++ 的语法,所以好多高级的 C++ 特性都不了解.正好最近从网上找到了本书<C++ 14 Quick Syntax Reference>,挺薄的一本书,只有 100多页,但是覆盖了基本所有 C++ 的特性.这个小短文就是我看这本书时摘抄下来的一些我以前没有注意到的知识点. 文中所有代码都在 gcc version 5.3.0 (Rev1, Built by MSYS2

《C++ Primer Plus》学习笔记7

<C++ Primer Plus>学习笔记7 第12章 类和动态内存分配 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

PHP实现执行定时任务的几种思路详解

PHP实现执行定时任务的几种思路详解 php 定时任务 唐霜 2015年07月03日发布 推荐 7 推荐 收藏 65 收藏,11.1k 浏览 PHP本身是没有定时功能的,PHP也不能多线程.PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害.本文,我们就来深入的解析几种常见的php定时任务的思路. Linux服务器上使用CronTab定时执行php 我们先从相对比较复杂的服务器执行php谈起.服务器上安装了php,就可以执行php文件,无

http头笔记

最快的办法,不是去啃书,而是多看大网站的http头. Keep-Alive: HTTP是一个请求<->响应模式的典型范例,即客户端向服务器发送一个请求信息,服务器来响应这个信息.在老的HTTP版本中,每个请求都将被创建一个新的客户端->服务器的连接,在这个连接上发送请求,然后接收请求.这样的模式有一个很大的优点就是,它很简单,很容易理解和编程实现:它也有一个很大的缺点就是,它效率很低,因此Keep-Alive被提出用来解决效率低的问题. Keep-Alive功能使客户端到服务器端的连接持

详解PHP执行定时任务的实现思路

PHP本身是没有定时功能的,PHP也不能多线程.PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害. 一.Linux服务器上使用CronTab定时执行php 我们先从相对比较复杂的服务器执行php谈起.服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件.而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择. 首先,进入命令行模式.作为服务器的li

JVM(2)——GC算法和收集器

一.引入 上篇博客<JVM--简介>中主要介绍了JVM的内存模型,思考一下: 为什么要划分堆.栈.方法区等? 为什么把不同种类的数据信息分别存放? 答案可以分为很多很多条,这里就说一个方面,如果我们是如何区分数据的种类的,那就是作用域.比如:堆.方法区是线程共享的,而栈是私有的. 那么管理又包括哪些方面呢?包括创建.存储.回收?这篇博客就来谈谈垃圾回收(Garbage Collection). 小编建议各位读者把自己当成GC,那个以回收垃圾为工作的人,这么说貌似有点-- 二.算法 问自己三个问

深入JAVA虚拟机之垃圾收集

前言: 说起垃圾收集器,JAVA开发者肯定是听得耳朵都起茧子了.如果让你设计一个JAVA垃圾收集器,那么你关注那些点呢? // 1.哪些内存需要回收? // 2.什么时候回收? // 3.如何回收? 这篇博文就是记录这些问题答案的.闲言碎语不多讲,开始写. 那些内存需要回收? 我们先来回顾一下"运行时数据区"的知识点.我们都知道程序计数器.虚拟机栈.本地方法栈都是与线程同生共死的.栈中的栈帧分配多少内存在类结构确定下来时就已经确定了.所以它们的内存分配和回收都是非常确定性的,因为方法结