PHP教程

PHP数组运算符

在PHP中,数组运算符是用于对数组进行操作的特殊运算符,PHP数组运算符包括联合、相等、全等、不等、不全等等,可以用于合并数组、比较数组,以及对数组进行其他的操作,使代码更加简洁和易读,同时也可以提高代码的效率。

一、数组运算符

例子 名称 结果
$a + $b 联合 $a 和 $b 的联合。
$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 true
$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 true
$a != $b 不等 如果 $a 不等于 $b 则为 true
$a <> $b 不等 如果 $a 不等于 $b 则为 true
$a !== $b 不全等 如果 $a 不全等于 $b 则为 true

+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b; // $a 和 $b 的并集
echo "Union of \$a and \$b: \n";
var_dump($c);

$c = $b + $a; // $b 和 $a 的并集
echo "Union of \$b and \$a: \n";
var_dump($c);

$a += $b; // $a += $b 的并集是 $a 和 $b
echo "Union of \$a += \$b: \n";
var_dump($a);
?>

执行后,此脚本会显示:

Union of $a and $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
Union of $b and $a:
array(3) {
["a"]=>
string(4) "pear"
["b"]=>
string(10) "strawberry"
["c"]=>
string(6) "cherry"
}
Union of $a += $b:
array(3) {
'a' =>
string(5) "apple"
'b' =>
string(6) "banana"
'c' =>
string(6) "cherry"
}

数组中的单元如果具有相同的键名和值则比较时相等。

示例 : 比较数组

<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

二、数组函数

  • array_change_key_case : 将数组中的所有键名修改为全大写或小写;
  • array_chunk : 将一个数组分割成多个;
  • array_column : 返回输入数组中指定列的值;
  • array_combine : 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值;
  • array_count_values : 统计数组中每个不同值的出现次数;
  • array_diff_assoc : 带索引检查计算数组的差集;
  • array_diff_key : 使用键名比较计算数组的差集;
  • array_diff_uassoc : 用用户提供的回调函数做索引检查来计算数组的差集;
  • array_diff_ukey : 用回调函数对键名比较计算数组的差集;
  • array_diff : 计算数组的差集;
  • array_fill_keys : 使用指定的键和值填充数组;
  • array_fill : 用给定的值填充数组;
  • array_filter : 使用回调函数过滤数组的元素;
  • array_flip : 交换数组中的键和值;
  • array_intersect_assoc : 带索引检查计算数组的交集;
  • array_intersect_key : 使用键名比较计算数组的交集;
  • array_intersect_uassoc : 带索引检查计算数组的交集,用回调函数比较索引;
  • array_intersect_ukey : 在键名上使用回调函数来比较计算数组的交集;
  • array_intersect : 计算数组的交集;
  • array_is_list : 判断给定的 array 是否为 list;
  • array_key_exists : 检查数组里是否有指定的键名或索引;
  • array_key_first : 获取指定数组的第一个键;
  • array_key_last : 获取一个数组的最后一个键值;
  • array_keys : 返回数组中部分的或所有的键名;
  • array_map : 为数组的每个元素应用回调函数;
  • array_merge_recursive : 递归地合并一个或多个数组;
  • array_merge : 合并一个或多个数组;
  • array_multisort : 对多个数组或多维数组进行排序;
  • array_pad : 以指定长度将一个值填充进数组;
  • array_pop : 弹出数组最后一个单元(出栈);
  • array_product : 计算数组中所有值的乘积;
  • array_push : 将一个或多个单元压入数组的末尾(入栈);
  • array_rand : 从数组中随机取出一个或多个随机键;
  • array_reduce : 用回调函数迭代地将数组简化为单一的值;
  • array_replace_recursive : 使用传递的数组递归替换第一个数组的元素;
  • array_replace : 使用传递的数组替换第一个数组的元素;
  • array_reverse : 返回单元顺序相反的数组;
  • array_search : 在数组中搜索给定的值,如果成功则返回首个相应的键名;
  • array_shift : 将数组开头的单元移出数组;
  • array_slice : 从数组中取出一段;
  • array_splice : 去掉数组中的某一部分并用其它值取代;
  • array_sum : 对数组中所有值求和;
  • array_udiff_assoc : 带索引检查计算数组的差集,用回调函数比较数据;
  • array_udiff_uassoc : 带索引检查计算数组的差集,用回调函数比较数据和索引;
  • array_udiff : 用回调函数比较数据来计算数组的差集;
  • array_uintersect_assoc : 带索引检查计算数组的交集,用回调函数比较数据;
  • array_uintersect_uassoc : 带索引检查计算数组的交集,用单独的回调函数比较数据和索引;
  • array_uintersect : 计算数组的交集,用回调函数比较数据;
  • array_unique : 移除数组中重复的值;
  • array_unshift : 在数组开头插入一个或多个单元;
  • array_values : 返回数组中所有的值;
  • array_walk_recursive : 对数组中的每个成员递归地应用用户函数;
  • array_walk : 使用用户自定义函数对数组中的每个元素做回调处理;
  • array : 新建一个数组;
  • arsort : 对数组进行降向排序并保持索引关系;
  • asort : 对数组进行升序排序并保持索引关系;
  • compact : 建立一个数组,包括变量名和它们的值;
  • count : 统计数组、Countable 对象中所有元素的数量;
  • current : 返回数组中的当前值;
  • each : 返回数组中当前的键/值对并将数组指针向前移动一步;
  • end : 将数组的内部指针指向最后一个单元;
  • extract : 从数组中将变量导入到当前的符号表;
    in_array : 检查数组中是否存在某个值;
  • key_exists : 别名 array_key_exists;
  • key : 从关联数组中取得键名;
  • krsort : 对数组按照键名逆向排序;
  • ksort : 对数组根据键名升序排序;
  • list : 把数组中的值赋给一组变量;
  • natcasesort : 用“自然排序”算法对数组进行不区分大小写字母的排序;
  • natsort : 用“自然排序”算法对数组排序;
  • next : 将数组中的内部指针向前移动一位;
  • pos : current 的别名;
  • prev : 将数组的内部指针倒回一位;
  • range : 根据范围创建数组,包含指定的元素;
  • reset : 将数组的内部指针指向第一个单元;
  • rsort : 对数组降序排序;
  • shuffle : 打乱数组;
  • sizeof : count 的别名;
  • sort : 对数组升序排序;
  • uasort : 使用用户定义的比较函数对数组进行排序并保持索引关联;
  • uksort : 使用用户自定义的比较函数对数组中的键名进行排序;
  • usort : 使用用户自定义的比较函数对数组中的值进行排序。
广告合作
QQ群号:707632017

温馨提示:

1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com。(#改为@)

2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

目录