精华内容
下载资源
问答
  • is_array — 检测变量是否数组Report a bug 描述bool is_array ( mixed $var )如果 在php中判断是否为数组很简单,php中利用is_array() 函数就可以快速判断变量是否为数组了,下面我来给大家介绍。...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    在php中判断是否为数组很简单,php中利用is_array() 函数就可以快速判断变量是否为数组了。is_array — 检测变量是否是数组Report a bug 描述bool is_array ( mixed $var )如果 在php中判断是否为数组很简单,php中利用is_array() 函数就可以快速判断变量是否为数组了,下面我来给大家介绍。

    1. isset功能:判断变量是否被初始化

    说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过

    注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右

    1 <?php

    2 $a = '';

    3 $a['c'] = '';

    4 if (!isset($a)) echo '$a 未被初始化' . "";

    5 if (!isset($b)) echo '$b 未被初始化' . "";

    6 if (isset($a['c'])) echo '$a 已经被初始化' . "";

    7 // 显示结果为

    8 // $b 未被初始化

    9 // $a 已经被初始化

    2. empty功能:检测变量是否为”空”

    说明:任何一个未初始化的变量、值为 0 或 false 或 空字符串”" 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true

    注意1:未初始化的变量也能被empty检测为”空”

    注意2:empty只能检测变量,而不能检测语句

    1 <?php

    2 $a = 0;

    3 $b = '';

    4 $c = array();

    5 if (empty($a)) echo '$a 为空' . "";

    6 if (empty($b)) echo '$b 为空' . "";

    7 if (empty($c)) echo '$c 为空' . "";

    8 if (empty($d)) echo '$d 为空' . "";

    3. var == null功能:判断变量是否为”空”

    说明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将判断为 null

    注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。

    1 <?php

    2 $a = 0;

    3 $b = array();

    4 if ($a == null) echo '$a 为空' . "";

    5 if ($b == null) echo '$b 为空' . "";

    6 if ($c == null) echo '$b 为空' . "";

    7 // 显示结果为

    8 // $a 为空

    9 // $b 为空

    10 // Undefined variable: c

    4. is_null功能:检测变量是否为”null”

    说明:当变量被赋值为”null”时,检测结果为true

    注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别

    注意2:仅在变量的值为”null”时,检测结果才为true,0、空字符串、false、空数组都检测为false

    注意3:变量未初始化时,程序将会报错

    1 <?php

    2 $a = null;

    3 $b = false;

    4 if (is_null($a)) echo '$a 为NULL' . "";

    5 if (is_null($b)) echo '$b 为NULL' . "";

    6 if (is_null($c)) echo '$c 为NULL' . "";

    7 // 显示结果为

    8 // $a 为NULL

    9 // Undefined variable: c

    5. var === null功能:检测变量是否为”null”,同时变量的类型也必须是”null”

    说明:当变量被赋值为”null”时,同时变量的类型也是”null”时,检测结果为true

    注意1:在判断为”null”上,全等于和is_null的作用相同

    注意2:变量未初始化时,程序将会报错

    总结:

    PHP中,”NULL” 和 “空” 是2个概念。

    isset 主要用来判断变量是否被初始化过

    empty 可以将值为 “假”、”空”、”0〃、”NULL”、”未初始化” 的变量都判断为TRUE

    is_null 仅把值为 “NULL” 的变量判断为TRUE

    var == null 把值为 “假”、”空”、”0〃、”NULL” 的变量都判断为TRUE

    var === null 仅把值为 “NULL” 的变量判断为TRUE

    注意:在判断一个变量是否真正为”NULL”时,大多使用 is_null,从而避免”false”、”0〃等值的干扰。

    更多、更新PHP视频教程下载地址

    http://www.itxdl.cn

    展开全文
  • 下面列举几种常见的判断是否为真数组几种方法 起手式:定义一个类数组和真数组 <div></div> <div></div> <div></div> <script> var divs = document....

    判断一个对象是真数组的几种方法

    在js中对对象进行判断时需了解到它是否是一个真数组,例如arguments等类似的虽然以数组的样式(下标值)在存储,但它是一个类数组对象。下面列举几种常见的判断是否为真数组的几种方法
    起手式:定义一个类数组和真数组

      <div></div>
      <div></div>
      <div></div>
      <script>
      var divs = document.getElementsByTagName("div"); //类数组
      var arr = [1, 2]//真数组
      </script>
    

    1、对象隐式原型的构造函数判断

    	console.log(divs.__proto__.constructor);//ƒ HTMLCollection() { [native code] }
        console.log(arr.__proto__.constructor);//ƒ Array() { [native code] }
    

    真数组都是Array构造出来的对象,所以它的隐式原型的构造属性可以找到Array

    2、Object.prototype.toString()方法
    用法:Object.prototype.toString.call(arr) === ‘[object Array]’
    虽然Array也继承自Object,但js在Array.prototype上重写了toString,而我们通过toString.call(arr)实际上是通过原型链调用了。

    	console.log(Object.prototype.toString.call(arr));// '[object Array]'
    	console.log(Object.prototype.toString.call(divs));//[object HTMLCollection]
    

    通过Object.prototype.toString()判断原型上是什么,真数组为Array。

    3、instanceof判断

    	console.log(divs instanceof Array);//false
        console.log(arr instanceof Array);//true
    

    运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
    instanceof是判断一个构造函数的prototype属性所指向的对象是否在另一个被检测对象的原型链上。
    例如obj instanceof F,它的运行机制为:obj.proto.proto… => F.prototype,沿着对象obj的原型链查找是否存在对象F.prototype,若存在则返回true,若查找到原型链的终点Object.prototype仍未找到,则返回false。

    4、Array.isArray()判断
    用法:Array.isArray(arr)
    ES5中新增了Array.isArray方法,IE8及以下不支持
    isArray 函数需要一个参数 arg,如果参数是个对象并且 class 内部属性是 “Array”, 返回布尔值 true;否则它返回 false。

    	console.log(Array.isArray(divs));//false
        console.log(Array.isArray(arr));//true
    

    最常见的判断是否是一个数组

    5、数组方法来判断

     try {
          console.log(divs.push(1));//报错
        } catch (e) {
          console.log(e);
        } finally {
          console.log("divs没有push方法");
        }
        console.log(arr.push(1));//返回了3
    

    利用数组对象里的方法判断,如果不是数组对象,使用方法会报错

    6、判断对象是否在指定对象的原型链上

    	console.log(Array.prototype.isPrototypeOf(divs));//false
        console.log(Array.prototype.isPrototypeOf(arr));//true
    
    展开全文
  • 分享给大家供大家参考,具体如下:前言今天完成一个算法的过程中,有个需求模块,其中就有判断$a数组是否是$b数组的子集,可能最近我写c比较多,直接就用for循环实现了,但是感觉代码量比较大,不够优雅!...

    本文实例讲述了PHP判断一个数组是另一个数组子集的方法。分享给大家供大家参考,具体如下:

    前言

    今天完成一个算法的过程中,有几个需求模块,其中就有判断$a数组是否是$b数组的子集,可能最近我写c比较多,直接就用for循环实现了,但是感觉代码量比较大,不够优雅!在qq群里集思广益了一下,发现很多php提供的系统功能函数都是可以供调用的,这里记录一下

    需求

    最少的时间复杂度判断$a数组是否是$b数组的子集

    // 快速的判断$a数组是否是$b数组的子集

    $a = array(135,138);

    $b = array(135,138,137);

    实现方法

    这里介绍三种方法,思路其实是相同的,差别在于实现的代码上

    for循环遍历

    $flag = 1;

    foreach ($a as $va) {

    if (in_array($va, $b)) {

    continue;

    }else {

    $flag = 0;

    break;

    }

    }

    if ($flag) {

    echo "Yes";

    }else {

    echo "No";

    }

    array_diff的使用

    5a357c5ff9eacdeca6b727615884ed0e.png

    代码

    $c = array_diff($a, $b);

    print_r($c);

    $flag = empty($c)?1 : 0;

    if ($flag) {

    echo "Yes";

    }else {

    echo "No";

    }

    array_intersect的使用

    2f46d410a493d2115cfbbc0db8626e5c.png

    代码

    if ($a == array_intersect($a, $b)) {

    $flag = 1;

    }else {

    $flag = 0;

    }

    if ($flag) {

    echo "Yes";

    }else {

    echo "No";

    }

    后记

    一个好的导师不仅可以教会我学习的方法,更可以教会我做人做事的方法,心怀感激,有担当

    希望本文所述对大家PHP程序设计有所帮助。

    展开全文
  • 方法判断数组是否存在某个值,如果存在,则返回数组元素的下标,否则返回-1。 var arr=[1,2,3,4]; var index=arr.indexOf(3); console.log(index); 方法2:array.includes(searcElement[,fromIndex]) 此方法...

    方法1:array.indexOf

    此方法判断数组中是否存在某个值,如果存在,则返回数组元素的下标,否则返回-1。

    var arr=[1,2,3,4];
    var index=arr.indexOf(3);
    console.log(index);
    

    方法2:array.includes(searcElement[,fromIndex])

    此方法判断数组中是否存在某个值,如果存在返回true,否则返回false

    var arr=[1,2,3,4];
    if(arr.includes(3))
        console.log("存在");
    else
        console.log("不存在");
    

    方法3:array.find(callback[,thisArg])

    返回数组中满足条件的第一个元素的值,如果没有,返回undefined

    var arr=[1,2,3,4];
    var result = arr.find(item =>{
        return item > 3
    });
    console.log(result);
    

    方法4:array.findeIndex(callback[,thisArg])

    返回数组中满足条件的第一个元素的下标,如果没有找到,返回-1

    var arr=[1,2,3,4];
    var result = arr.findIndex(item =>{
        return item > 3
    });
    console.log(result);
    
    展开全文
  • PHP判断数组为空方法1:count($arr);count 如果输出为0的话 那么这个数组就是空的下面就是简单的测试代码了。$arr = array();echo count($arr);?>输出为 0 的话数组为空PHP判断数组为空方法2:empty($arr);$arr= ...
  • php怎么判断是不是空数组判断方法:1、使用isset()函数判断数组中元素是否被定义过,如果没有则为空数组;2、使用empty()函数检查数组变量是否为空,如果为空则是空数组;3、使用“数组变量 == null”来判断数组变量...
  • js 判断数组的4种方法

    2021-09-24 07:49:31
    实例的构造函数属性constructor指向构造函数,通过constructor属性可以判断是否为一个数组 3.通过Object.prototype.toString.call()判断 Object.prototype.toString.call()可以获取到对象的不同类型 4.通过...
  • 有好几种方法 总结一下1:array.indexOf 此方法判断数组是否存在某个值,如果存在返回数组元素的下标,否则返回-1let arr = ['something', 'anything', 'nothing', 'anything'];let index = arr.indexOf('nothing'...
  • Array.isArray(arr) && arr.length === 0 JSON.stringify(arr) === '[]' arr instanceof Array && arr.length === 0
  • 1. isset功能:判断变量是否被初始化它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右...
  • JS数组有哪几种定义方式?js 里创建一个数组几种方式有什么区别吗?a = new Array(); b = []; 性能问题吗??function clear(arr) { // 1 如何获取数组中每一个元素出现的次数 var o = {}; // 1.1 记录数组中元素...
  • 判断数组几种方法

    2021-06-22 14:06:10
    判断数组几种方法 1、通过原型链来判断 obj.__proto__ === Array.prototype; 2、通过ES6的Array.isArray()来判断 Array.isArray(obj); 3、通过instanceof来判断 obj instanceof Array; 4、通过Array.prototype....
  • 判断数组是否存在某个值,如果存在返回数组元素的下标,否则返回-1 let arr = ['something', 'anything', 'nothing', 'anything']; let index = arr.indexOf('nothing'); # 结果:2 array.includes...
  • 在前端面试中,我们经常会被问道,如何判断一个对象是不是数组类型,下面就这一点展开详细的描述,并总结一下共有几种方法。1.我们首先回顾一下typeof操作符的用法操作符可以用来检测给定变量的数据类型,返回的值有...
  • ES6遍历数组几种方法

    千次阅读 2020-12-20 23:38:02
    i++) { console.log((a[i])) } // 3, 4, 5 for (let item in a) { console.log(a[item]) } // 3, 4, 5 for (let item of a) { //for of 推荐用在遍历数组 console.log(item) } // 3, 4, 5 for (let key in obj) { /...
  • python实现判断数组是否包含指定元素的方法本文实例讲述了python实现判断数组是否包含指定元素的方法。分享给大家供大家参考。具体如下:python判断数组是否包含指定的元素的方法,直接使用in即可,python真是简单...
  • 1. 通过将数组转换成List,然后使用List中的contains进行判断是否存在public static boolean useList(String[] arr,String containValue){return Arrays.asList(arr).contains(containValue);}需要注意的是Arrays....
  • php中经典方法实现判断多维数组是否为空复制代码 代码如下://判断一个数组是否为空/**array(); 空array(array(),array(),array()); 空array(array(),array(array(),array(1=>1)),array()); 非 空*/function is_...
  • }}运行结果如下:list方式: 5set方式: 22循环方式: 2二分法查找: 3经过大量数据测试循环方式效率最高,其次是二分法,最后是list,和set因为因为将数组压入Collection类型中,首先要将数组元素遍历一遍,然后再使用...
  • C语言二维数组几种常用的表示方法发布时间:2020-09-02 12:32:11来源:脚本之家阅读:85作者:BLSxiaopanlaile名称:二维数组的几种表示方法说明:常用的有以下几种二维数组的表示方法:(1)、第一种是普通的二维数组的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 409,888
精华内容 163,955
关键字:

判断是否是数组的几种方法