热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP中isset与array_key_exists的区别实例分析【PHP】

后端开发|php教程PHP,isset,array_key_exists,区别后端开发-php教程源码所有权著作权,ubuntu时区选哪里,安装版tomcat7,铁丝做爬虫,php

后端开发|php教程PHP中isset与array_key_exists的区别实例分析【PHP】
PHP,isset,array_key_exists,区别
后端开发-php教程
源码所有权 著作权,ubuntu时区选哪里,安装版tomcat 7,铁丝做爬虫,php生成pdf文件变小,shoipfy seolzw
1.对于数组值的判断不同,对于值为null或”或false,isset返回false,array_key_exists返回true;
考评 源码,vscode中文命名,为什么ubuntu关机要60秒,tomcat类路径,sqlite执行存储过程,jquery弹出页面插件,web前端最基础的框架,分布式爬虫机器,php开发实战 pdf,郑州谷歌seo,计算机论文网站,网页 会员系统代码是什么情况,织梦导航模板,css程序下载lzw
2. 执行效率不同,isset是内建运算符,array_key_exists是php内置函数,isset要快一些。请参考:PHP 函数实现原理及性能分析
易语言edb账号源码,ubuntu怎么跑代码,tomcat优点用大白话说,爬虫自动发弹幕,php用什么连接数据库,日易seolzw
3.当用isset访问一个不存在索引数组值时,不会引起一个E_NOTICE的php错误消息;

4.array_key_exists 会调用get_defined_vars判断数组变量是否存在,isset不用;

测试代码:

'dd','bb'=>'','cc'=>null,'dd'=>false);echo "isset aa is ";var_dump(isset($test_arr['aa']));echo "\n";echo "isset bb is ";var_dump(isset($test_arr['bb']));echo "\n";echo "isset cc is ";var_dump(isset($test_arr['cc']));echo "\n";echo "isset dd is ";var_dump(isset($test_arr['cc']));echo "\n";echo "isset none is ";var_dump(isset($test_arr['none']));echo "\n";echo "key_exist aa is ";var_dump(array_key_exists('aa',$test_arr));echo "\n";echo "key_exist bb is ";var_dump(array_key_exists('bb',$test_arr));echo "\n";echo "key_exist cc is ";var_dump(array_key_exists('cc',$test_arr));echo "\n";echo "key_exist dd is ";var_dump(array_key_exists('dd',$test_arr));echo "\n";echo "key_exist none is ";var_dump(array_key_exists('none',$test_arr));echo "\n";$time_start = microtime_float();for($i=0;$i<100;$i++){isset($test_arr[&#039;aa&#039;]);}$time_end = microtime_float();$time = $time_end - $time_start;echo "isset 100 is $time\n";for($i=0;$i<10000;$i++){isset($test_arr[&#039;aa&#039;]);}$time_end = microtime_float();$time = $time_end - $time_start;echo "isset 10000 is $time\n";for($i=0;$i<1000000;$i++){isset($test_arr[&#039;aa&#039;]);}$time_end = microtime_float();$time = $time_end - $time_start;echo "isset 1000000 is $time\n";//++++++++++++++++++++++++++++++$time_start = microtime_float();for($i=0;$i<100;$i++){array_key_exists(&#039;aa&#039;,$test_arr);}$time_end = microtime_float();$time = $time_end - $time_start;echo "array_key_exists 100 is $time\n";for($i=0;$i<10000;$i++){array_key_exists(&#039;aa&#039;,$test_arr);}$time_end = microtime_float();$time = $time_end - $time_start;echo "array_key_exists 10000 is $time\n";for($i=0;$i<1000000;$i++){array_key_exists(&#039;aa&#039;,$test_arr);}$time_end = microtime_float();$time = $time_end - $time_start;echo "array_key_exists 1000000 is $time\n";


推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • springboot项目引入jquery浏览器报404错误的解决办法
    本文介绍了在springboot项目中引入jquery时,可能会出现浏览器报404错误的问题,并提供了解决办法。问题可能是由于将jquery.js文件复制粘贴到错误的目录导致的,解决办法是将文件复制粘贴到正确的目录下。如果问题仍然存在,可能是其他原因导致的。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
author-avatar
kuae_617
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有