php数组函数

关于php的array_diff和array_diff_assoc的使用总结

…衆ロ難τιáo~ 提交于 2020-02-22 05:32:02
a rray_diff() 对比 array1 和其他一个或者多个数组,返回在 array1 中但是不在其他 array 里的 值 。 对应的键名保留。 注意 是值。和键名无关。相当于把所有值拿出来 去和其他数组比。 第一个参数为要对比的数组。 但该函数只能对多维数组的第一维进行差值比较。而且这种对比时只对键值的对比,与键名无关(只会找两个(或两个以上)数组中键值有区别的值)。 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的 例子:array_diff可以找出俩数组的差值c_pid: 但是,如果array的任一键值和更改的值有重叠,则array_diff无法测出此更改值,如下: 正常情况下array1中和array2中的比较中,更新的元素有c_pid和c_order,但结果只得到c_order的差值,为什么呢? 个人理解:array_diff()将array1的值和array2的值做对比,而不考虑键名,所以array1的c_pid的值在array2的c_level中找到,故忽略c_pid的差值。 array_diff_assoc()与array_diff()用法一样,不同的是,它的比较是带上键名的,也就是说它找到的就是几个数组中键名相同键值不同的项,也就是说,上面array_diff的第二种情况它是可以找出c_pid和c

PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题

折月煮酒 提交于 2020-02-22 05:31:11
  求两个数组的交集问题可以使用array_intersect(),array_inersect_assoc,array_intersect_key来实现,其中array_intersect()函数是求两个数的交集,返回一个交集共有元素的数组(只是数组值得比较)、array_intersect_assoc()函数是将键值和值绑定,一起比较交集部分、array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组。   但实际应用中也遇到了一些小问题,正如下:   实例: <?PHP $array = array("red"=>"Red","green"=>"red4","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz1"=>"art","peak"=>158); $array1 = array("red"=>"Red2","greena"=>"red","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz"=>"art","peak"=>158); $num = array_intersect($array,$array1); print_r ($num); echo "<br />"; $num = array_intersect_assoc($array,

PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数详解

不羁的心 提交于 2020-02-22 05:30:49
求两个数组的交集问题可以使用 array_intersect(),array_inersect_assoc,array_intersect_key来实现,其中 array_intersect()函数是求两个数的交集,返回一个交集共有元素的数组(只是数组值得比较)、 array_intersect_assoc()函数是将键和值绑定,一起比较交集部分、array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组。 但实际应用中也遇到了一些小问题,正如下: 实例: <?php $array = array( "red" => "Red", "green" => "red4", "Red15" => "Red", 7 => "Level", "Width" => "Red", "azzzz1" => "art", "peak" => 158 ); $array1 = array( "red" => "Red2", "greena" => "red", "Red15" => "Red", 7 => "Level", "Width" => "Red", "azzzz" => "art", "peak" => 158 ); $num = array_intersect($array, $array1); print_r ($num); echo "<br />";

PHP中的Array

这一生的挚爱 提交于 2020-02-20 16:58:52
PHP中的数组是一个有序映射(1对1的关系 key->value)。 Array是一个综合体:可表示数组、字典、集合等。 key可以是int或string。value可以是任意类型。 key如下情况会强制转换: 1.包含合法整型值的字符串=>整型。 "8"=>8 实际存储8 2.浮点数=>整型。 8.7=>8 小数点会被舍去 3.布尔类型=>类型。 true=>1,false=>0 实际存储为0或1 4.Null=>“” 实际存储"" 5.数组和对象不能被用为键名。 键名不可重复,若重复,则只有最后一个有效。 <?php $array = array( 1 => "a", "1" => "b", 1.5 => "c", true => "d", ); var_dump($array); ?> 以上例程会输出: array(1) { [1]=> string(1) "d" } 上例中所有的键名都被强制转换为 1 ,则每一个新单元都会覆盖前一个的值,最后剩下的只有一个 "d" 。 PHP数组可以同时含有int和string类型的键名,因为PHP 实际并不区分索引数组和关联数组。 如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。 Example #5 仅对部分单元指定键名 <?php $array = array(

PHP基础加固4——数据类型2

点点圈 提交于 2020-02-20 07:59:41
本节介绍PHP的其他数据类型。包括数组、对象、Resource以及NULL等等数据类型,也涵盖了不同数据类型之间的转换等知识点。 Array数组 PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。 1. 语法 定义数组 array() 可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value)对。 array( key => value , ... ) // 键(key)可是是一个整数 integer 或字符串 string // 值(value)可以是任意类型的值 最后一个数组单元之后的逗号可以省略。通常用于单行数组定义中,例如常用 array(1, 2) 而不是 array(1, 2, )。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。 5.4 起可以使用短数组定义语法,用 [] 替代 array()。 <?php $array = array( "foo" => "bar", "bar" => "foo", ); // 自 PHP 5.4 起 $array = [

php array_push()

南笙酒味 提交于 2020-02-19 07:39:52
1、在php中,array_push()函数是用来向数组末尾插入一个或多个元素。 2、array_push()函数可以有n个参数,第一个参数为目标数组,之后n个参数为要插入元素的键值,而键名会用数字充当(0、1、2......)。 3、array_push()函数的返回值为新数组的元素个数。 语法格式: array_push(目标数组,值1,值2,值3...) 实例: <?php $arr=array("a"=>"html","b"=>"css"); $i=array_push($arr,"javascript","php"); //函数返回新数组的元素个数 echo $i; //输出新数组的元素个数 var_dump($arr); //输出新数组 ?> 运行结果: 4 array 'a' => string 'html' (length=4) 'b' => string 'css' (length=3) '0' => string 'javascript' (length=10) '1' => string 'php' (length=3) 来源: https://www.cnblogs.com/swmin/p/10522775.html

php基础(二)数组

帅比萌擦擦* 提交于 2020-02-13 07:14:11
本文主要内容来自w3cschool 在 PHP 中,有三种数组类型:   索引数组 - 带有数字索引的数组   关联数组 - 带有指定键的数组   多维数组 - 包含一个或多个数组的数组 PHP 索引数组 有两种创建索引数组的方法: 索引是自动分配的(索引从 0 开始): $cars=array("Volvo","BMW","SAAB"); 或者也可以手动分配索引: $cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB"; 下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本: 实例 <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?> 获得数组的长度 - count() 函数 <?php $cars=array("Volvo","BMW","SAAB"); echo count($cars); ?> 遍历索引数组 <?php $cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars

PHP 4 数组

你说的曾经没有我的故事 提交于 2020-02-13 05:26:58
数组能够在单独的变量名中存储一个或多个值。 实例 数组在单个变量中存储多个值: <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>    什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值。 如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的: $cars1="Volvo"; $cars2="BMW"; $cars3="SAAB";    不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储 300 个汽车品牌,而不是 3 个呢? 解决方法是创建数组! 数组能够在单一变量名中存储许多值,并且您能够通过引用下标号来访问某个值。 PHP 索引数组 有两种创建索引数组的方法: 索引是自动分配的(索引从 0 开始): $cars=array("Volvo","BMW","SAAB"); 索引数组 - 带有数字索引的数组 关联数组 - 带有指定键的数组 多维数组 - 包含一个或多个数组的数组 或者也可以手动分配索引: $cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB";   下面的例子创建名为 $cars 的索引数组

PHP----预定义数组

痴心易碎 提交于 2020-02-13 03:54:27
预定义数组 超全局数组 <?php /* 预定义数组: * 自动全局变量 ---超全局数组 * * 1.包含了来自 WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直接使用这些数组 * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样 * 5.在函数中直接可以使用这些数组 * * $_GET //经由 URL请求提交至脚本的变量 * $_POST //经由 HTTP POST 方法提交到脚本的变量 * $_REQUEST //经由 GET , POST和 COOKIE机制提交 到脚本的变量 * $_FILES //经由 http post方法文件上传而提交至脚本的变量 * $_COOKIE * $_SESSION * $_ENV //执行环境提交至脚本的变量 * $_SERVER //变量由 WEB服务器设定的,或直接和当前脚本的执行环境相关联 * $GLOBALS //只要是当前脚本有效的变量都在这里,数组的键名为全局脚本的名称 * * */ //超全局数组在函数内部可以直接调用 $arr=array(10,20);//一般数组 $_GET=array(50,90);//超全局数组 来源: https://www.cnblogs.com/yuyu1993/p/5628564.html

PHP学习之四:超全局变量

限于喜欢 提交于 2020-02-13 03:02:50
PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。 $_SERVER 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 $_GET 经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。 $_POST 经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。 $_COOKIE 经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。 $_FILES 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传 。 $_ENV 执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。 $_REQUEST 经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任