php数组运算符 比较 isset、is_null、empty的用法和区别

2024-02-19 18:44

本文主要是介绍php数组运算符 比较 isset、is_null、empty的用法和区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

php数组运算符

  • 1. 数组运算符
  • 2. 判断两个数组是否相等
  • 3. isset、is_null、empty的用法和区别

1. 数组运算符

注意:只会保留第一个数组中的键值对,而忽略后面数组中相同键名的元素,如果想要合并两个数组并覆盖相同键名的元素,可以使用array_merge()函数

数组运算符中 + 号是取得第一个的,后面的键有一样的,取得也是最开始的,但是array_merge()取的是最新的。

在这里插入图片描述

2. 判断两个数组是否相等

  1. == 只会判断数值是否相等

  2. === 判断的同时要求有相同的键/值对,且顺序相同、类型也要相同。

结果:
true
falsetrue
false

在这里插入图片描述

3. isset、is_null、empty的用法和区别

isset, is_null, 和 empty 是 PHP 中用来检查变量是否已设置或为空的函数。它们之间的区别如下:

  1. isset($variable) : 检查变量是否已设置且不为 null。如果变量存在且值不为 null,则返回 true,否则返回 false。这意味着如果变量不存在或值为 null,isset 将返回 false。
$var = 'hello';
isset($var); // true$var = null;
isset($var); // falseisset($undefinedVar); // false
  1. is_null($variable): 检查变量的值是否为 null。如果变量的值为 null,则返回 true,否则返回 false。
$var = null;
is_null($var); // true$var = 'hello';
is_null($var); // false
  1. empty($variable): 检查变量是否为空。为空的情况包括:值为 false、0、''、null、array()、var $var; 这些情况。如果变量为空,则返回 true,否则返回 false。
$var = '';
empty($var); // true$var = null;
empty($var); // true$var = 0;
empty($var); // true$var = 'hello';
empty($var); // false

总结:

  • isset 主要用于检查变量是否已设置且不为 null。
  • is_null 用于检查变量的值是否为 null。
  • empty 用于检查变量是否为空,但在判断变量是否为 null 时也会返回 true

这篇关于php数组运算符 比较 isset、is_null、empty的用法和区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725590

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,

C 语言基础之数组

文章目录 什么是数组数组变量的声明多维数组 什么是数组 数组,顾名思义,就是一组数。 假如班上有 30 个同学,让你编程统计每个人的分数,求最高分、最低分、平均分等。如果不知道数组,你只能这样写代码: int ZhangSan_score = 95;int LiSi_score = 90;......int LiuDong_score = 100;int Zhou

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。