php array_key_exists() 与 isset() 的区别
php array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢?本文章将为大家讲解array_key_exists() 与 isset() 使用中的一些区别
一个基本的区别是isset()可用于数组和变量,而array_key_exits()只能用于数组。
但是最主要的区别在于在设定的条件下的返回值。
现在我们来验证一下这个最主要的区别。
array_key_exists()
array_key_exists() 会检查键值的存在. 这个函数会返回TRUE,只要键值存在,即使值为NULL.
$arr = array( "one"=>"1", "two"=>"2", "three"=>null ); array_key_exists("one", $arr); // true array_key_exists("two", $arr); // true array_key_exists("three", $arr); // true
isset()
和arrry_key_exitst()不同,isset()会同时检查键和值,只有当健存在,对应的变量不为NUll的时候才会返回TURE。
$arr = array( "one"=>"1", "two"=>"2", "three"=>null ); isset($arr["one"]); // true isset($arr["two"]); // true isset($arr["three"]); // false
结论
本文说明了上面所述两个函数的主要区别,以以后使用这两个函数的时候要多注意了!
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
php注册和登录界面的实现案例(推荐)
当初我觉得一个网站上注册和登录这两个功能很神奇,后来自己研究一下发现其实道理很简单,接下来看一下怎么实现的吧.... 我在我的电脑上建了几个文件: login.html (登录页面) register.html(注册页面) success.html(登录成功跳转页面) return.html(注册成功页面) login.php register.php 登录界面和注册界面以及success.html并没有 什么都是些html标记如下: <html> <head> <meta
-
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
一个是:DIRECTORY_SEPARATOR DIRECTORY_SEPARATOR:路径分隔符,linux上就是'/' windows上是'\' 一个是:PATH_SEPARATOR PATH_SEPARATOR:include多个路径使用,在windows下,当你要include多个路径的话,你要用";"隔开,但在linux下就使用":"隔开的. 这2个常量的使用能够避免不同平台的兼容性问题
-
PHP实现简易blog的制作
最近,有时间看了点PHP的代码.参考PHP100教程做了简单的blog,这里面简单的记录一下. 首先是集成环境,这里选用的WAMP:http://www.wampserver.com/en/ 首先通过,phpMyAdmin创建一张blog表. 纯界面操作,过程比较简单,需要注意的是id是主键,并且设置auto_increnent 选项,表示该字段为空时自增.其它字段就比较随便了,注意类型和长度即可. 创建数据连接 在./wamp/www/blog目录下创建conn.php文件. <?php
-
php 多文件上传的实现实例
首先向大家讲解一下实现的方法. 要实现多文件上传,我们可以在form表单中添加多个input file域,然后将这些input file的name属性设置为相同的名称且使用数组的形式命名,例如filename[].至于文件上传的php代码和单个文件上传是一样的道理. 下面看一个多文件上传的实例: html文件example.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8">
-
在Thinkphp中使用ajax实现无刷新分页的方法
在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------
-
php PATH_SEPARATOR判断当前服务器系统类型实例
php中有一个非常有用的预定义常量PATH_SEPARATOR,我们可以通过该常量来判断当前服务器是linux还是Windows.本文将向大家讲解php使用PATH_SEPARATOR获取当前服务器的类型. PATH_SEPARATOR是php中的一个预定义常量,我们可以直接echo这个常量,在linux系统中,该常量输出":",在windows系统中,该常量输出";"号.因此,我们可以通过PATH_SEPARATOR输出值来判断当前服务器系统类型. 在linux系
-
php 使用html5实现多文件上传实例
首先向大家介绍一下html5中file的multiple属性 定义和用法 multiple 属性规定输入字段可选择多个值.如果使用该属性,则字段可接受多个值. 实例: <form action="demo_form.asp" method="get"> Select images: <input type="file" name="img" multiple="multiple" />
-
浅谈php和js中json的编码和解码
php中 1)编码 $jsonStr = json_encode($array) 2)解码 $arr = json_decode($jsonStr) <?php echo json_encode("中文", JSON_UNESCAPED_UNICODE); 添加参数:JSON_UNESCAPED_UNICODE即可. 测试环境: PHP Version 5.5.36 js中 1. 编码 var str = obj.toJSONString();//需要JSON解析器或工具类
-
php array_key_exists() 与 isset() 的区别
php array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢?本文章将为大家讲解array_key_exists() 与 isset() 使用中的一些区别 一个基本的区别是isset()可用于数组和变量,而array_key_exits()只能用于数组. 但是最主要的区别在于在设定的条件下的返回值. 现在我们来验证一下这个最主要的区别. array_key_exists() array_key_exists()
-
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
废话不多说了,直接给大家贴代码了. <?php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = array(); //var $a8; $a9 = new test(); for ($i=1; $i <=9 ; $i++) { $s = 'a'.$i; echo $i . ":"; var_dump(isset($$s)); echo '&
-
PHP中 empty() 和 isset() 的区别介绍
目录 二者共同点 二者区别 1.对于未设置的变量的判断 2.对于 "" (空字符串) 的判断 3.对于 0 (作为整数的0) 的判断 4.对于 0.0 (作为浮点数的0) 的判断 5.对于 "0" (作为字符串的0) 的判断 6.对于 NULL 的判断 7.对于 FALSE 的判断 8.对于 array() (一个空数组) 的判断 二者共同点 都可以判定一个变量是否为空: 都返回boolean类型,即true或false. 二者区别 empty() 函数用于检查一
-
一张表搞清楚php is_null、empty、isset的区别
isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a="" true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false true $a=15 false false true $a=1 false false true $a
-
百度工程师讲PHP函数的实现原理及性能分析(二)
类方法 类方法其执行原理和用户函数是相同的,也是翻译成opcodes顺次调用.类的实现,zend用一个数据结构zend_class_entry来实现,里面保存了类相关的一些基本信息.这个entry是在php编译的时候就已经处理完成. 在 zend_function的common中,有一个成员叫做scope,其指向的就是当前方法对应类的zend_class_entry.关于php中面向对象的实现,这里就不在做更详细的介绍,今后将专门写一篇文章来详述php中面向对象的实现原理.就函数这一块来说,me
-
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
但是如果数组比较大的时候,性能就会下降,运行的就会久一点,那如果针对在大数组情况下做优化呢,下面说两种方法(都是通过自定义函数来实现): 1.数组key与value翻转,通过isset判断key是否存在于数组中 复制代码 代码如下: /** * in_array is too slow when array is large */public static function inArray($item, $array) { $flipArray = array_flip($array);
-
php判断数组中是否存在指定键(key)的方法
本文实例讲述了php判断数组中是否存在指定键(key)的方法.分享给大家供大家参考.具体分析如下: php中有两个函数用来判断数组中是否包含指定的键,分别是array_key_exists和isset array_key_exists语法如下 array_key_exists($key, $array) 如果键存在返回true isset函数语法如下 isset($array[$key]) 如果键存在返回true 演示代码如下: <?php $array = array("Zero&quo
-
PHP中isset与array_key_exists的区别实例分析
本文实例讲述了PHP中isset与array_key_exists的区别.分享给大家供大家参考.具体分析如下: 1.对于数组值的判断不同,对于值为null或''或false,isset返回false,array_key_exists返回true: 2. 执行效率不同,isset是内建运算符,array_key_exists是php内置函数,isset要快一些.请参考:PHP 函数实现原理及性能分析 3.当用isset访问一个不存在索引数组值时,不会引起一个E_NOTICE的php错误消息: 4.
-
PHP isset()与empty()的使用区别详解
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 版本:PHP 3, PHP 4, PHP 5 更多说明: 使用 unset() 释放变量之后,它将
-
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
应该这样用if(isset($_POST['submit'])) { } 提交表单时 if($_POST[submit])与 if(isset($_POST[submit])) 的区别 第一种方法会出现一个warning,第二种相对更严谨. 还有就是POST的键名最好加上单引号,这样效率稍微高点(大概3-4倍). 恩 差不多那个意思,如果设置了这个变量则返回true PHP中if(isset($_POST['Submit']))是什么意思 isset -- 检测变量是否设置 判断post过来的数
随机推荐
- 使用JQuery实现图片轮播效果的实例(推荐)
- python django 访问静态文件出现404或500错误
- Shell脚本中执行sql语句操作mysql的5种方法
- javascript最常用与实用的创建类的代码
- JavaScript 继承详解(四)
- 常见的正则表达式问题
- IOS开发笔记整理49之详解定位CLLocation
- php判断表是否存在的方法
- MySql批量插入优化Sql执行效率实例详解
- Android 中RecyclerView通用适配器的实现
- 全屏js头像上传插件源码高清版
- php版微信小店API二次开发及使用示例
- bootstrap实现的自适应页面简单应用示例
- javascript中Date()函数在各浏览器中的显示效果
- 另类调用flash无须激活的方法
- javascript基础知识大全 便于大家学习,也便于我自己查看
- IIS6批量添加主机头 IIS6批量绑定主机头(利用IIS6导入导出XML)
- dedecms tags keywords问题修正方法
- 路由器配置全攻略第1/4页
- 分享PHP计算两个日期相差天数的代码