PHP常用函数

1 数组函数

1.1 创建数组

1.1.1 array_combine()

array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。

语法:array_combine(keys,values)

参数:

keys:必需,规定数组的键名;

values:必需,规定数组的键值;

返回值:返回合并后的数组。如果两个数组的元素个数不相同,则返回 FALSE。

<?php
$keys = ['张三', '李四', '王五'];
$values = [34, 25, 44];
$arr = array_combine($keys, $values);
var_dump($arr); // array(3) { ["张三"]=> int(34) ["李四"]=> int(25) ["王五"]=> int(44) }

1.1.2 range()

range() 函数创建一个包含指定范围的元素的数组。

语法:range(low,high,step)

参数:

low:必需。规定数组元素的最小值。

high:必需。规定数组元素的最大值。

step:可选。规定元素之间的步进制。默认是 1。

返回值:返回一个包含从 lowhigh 的元素的数组。

注释如果 low 参数大于 high 参数,则创建的数组将是从 high 到 low。

<?php
$arr1 = range(0, 9);	// 创建一个0-9之间的数组;
$arr2 = range(a, z);	// 创建一个a-z之间的数组;
$arr3 = range(a, z, 10);	// 创建一个步长为10的a-z之间的数组;

1.1.3 compact()

compact() 函数创建一个包含变量名和它们的值的数组。

语法:compact(var1,var2...)

参数:

var1:必需。可以是带有变量名的字符串,或者是一个变量数组。

var2:可选。可以是带有变量名的字符串,或者是一个变量数组。允许多个参数。

返回值:返回带有所有变量名和它们的值的数组。

注释:任何没有变量名与之对应的字符串都被略过。

<?php
$firstname = 'zhangsan';
$lastname = 'lisi';
$age = '42';
$result = compact('firstname', 'lastname', 'age');	// 参数为变量字符串
var_dump($result);	// array(3) { ["firstname"]=> string(8) "zhangsan" ["lastname"]=> string(4) "lisi" ["age"]=> string(2) "42" }

$name = array('firstname', 'lastname');
$result = compact($name, 'location', 'age');	// $name为变量数组。location没有对应的值
var_dump($result);	// array(3) { ["firstname"]=> string(8) "zhangsan" ["lastname"]=> string(4) "lisi" ["age"]=> string(2) "42" }

1.1.4 array_fill()

array_fill() 函数用给定的键值填充数组。

语法:array_fill(index,number,value);

参数:

index:必需。规定返回数组的起始索引。

number:必需。规定填充的元素的数量,其值必须大于 0。

value:必需。规定用于填充数组的键值。

返回值:返回填充的数组。

<?php
$arr = array_fill(3, 4, 'blue');	// 从索引3开始,填充4位,都填充blue
var_dump($arr);

1.2 数组合并与拆分

1.2.1 array_chunk()

array_chunk() 函数把一个数组分割为新的数组块.

语法:array_chunk(array,size,preserve_keys);

参数:

array:必需。规定要使用的数组。

size:必需。一个整数,规定每个新的数组块包含多少元素。

preserve_key:可选。可能的值为:true - 保留原始数组中的键名。false - 默认。每个新数组块使用从零开始的索引。

返回值:返回一个多维的数值数组,从 0 开始,每个维度都包含 size 元素。

<?php
$age_arr = array('zhangsan' => 20, 'lisi' => 30, 'wangwu' => 40);
$new_arr = array_chunk($age_arr, 2, true);	// 拆分为多维数组,并保留原始数组中的键名
var_dump($new_arr);	//array(2) { [0]=> array(2) { ["zhangsan"]=> int(20) ["lisi"]=> int(30) } [1]=> array(1) { ["wangwu"]=> int(40) } }

1.2.2 array_merge()

array_merge() 函数用于把一个或多个数组合并为一个数组。

语法:array_merge(array1,array2,array3...)

参数:

array1:必需。规定数组。

array2:可选。规定数组。

返回值:返回合并的数组。

<?php
$arr1 = array('zhangsan', 'lisi');
$arr2 = array('wangwu', 'zhaoliu');
$new_arr = array_merge($arr1, $arr2);
var_dump($new_arr);	// array(4) { [0]=> string(8) "zhangsan" [1]=> string(4) "lisi" [2]=> string(6) "wangwu" [3]=> string(7) "zhaoliu" }

1.2.3 array_slice()

array_slice() 函数返回数组中的选定部分。

语法:array_slice(array,start,length,preserve)

参数:

array:必需。规定数组。

start:必需。数值。规定取出元素的开始位置

length:可选。数值。规定被返回的数组的长度。

preserve:可选。true,保留键名。false,默认,重置键名。

返回值:返回数组中选定的部分。

<?php
$arr = array("red","green","blue","yellow","brown");
$new_arr = array_slice($arr, 2, 2, true);
var_dump($new_arr);	// array(2) { [2]=> string(4) "blue" [3]=> string(6) "yellow" }

1.3 数组比较

1.3.1 array_diff()

array_diff() 函数用于比较两个(或更多个)数组的键值,并返回差集。

语法:array_diff(array1,array2,array3...);

参数:

array1:必需。与其他数组进行比较的第一个数组。

array2:必需。与第一个数组进行比较的数组。

array3:可选,与第一个数组进行比较的其他数组。

返回值:返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2array3 等等)中的键值。

<?php
$arr1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow');
$arr2 = array('e' => 'red', 'f' => 'green', 'g' => 'blue');
$arr3 = array('a' => 'red', 'b' => 'black', 'h' => 'green');
$result = array_diff($arr1, $arr2, $arr3);
var_dump($result);		// array(1) { ["d"]=> string(6) "yellow" }

1.3.2 array_intersect()

array_intersect() 函数用于比较两个(或更多个)数组的键值,并返回交集。

语法:array_intersect(array1,array2,array3...);

参数:

array1:必需。与其他数组进行比较的第一个数组。

array2:必需。与第一个数组进行比较的数组。

array3:可选。与第一个数组进行比较的其他数组。

返回值:返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2array3 等等)中的键值。

<?php
$arr1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow');
$arr2 = array('e' => 'red', 'f' => 'green', 'g' => 'blue');
$arr3 = array('a' => 'red', 'b' => 'black', 'h' => 'green');
$result = array_intersect($arr1, $arr2, $arr3);
var_dump($result);		// array(2) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" }

1.4 数组查找替换

1.4.1 array_search()

array_search() 函数在数组中搜索某个键值,并返回对应的键名。

语法:array_search(value,array,strict)

参数:

value:必需。规定在数组中搜索的键值。

array:必需。规定被搜索的数组。

strict:可选。如果为true,则函数在数组中搜索数据类型和值都一致的元素。默认为false。

返回值:如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。

<?php
$arr = array('a' => '5', 'b' => 5, 'c' => '5');
$value = array_search(5, $arr, true);	// 返回键值数据类型和值都一致的键名。
var_dump($value);	// string(1) "b"

1.4.2 array_splice()

array_splice() 函数从数组中移除选定的元素,并用新元素取代它。函数也将返回被移除元素的数组。

语法:array_splice(array,start,length,array)

参数:

array:必需,规定数组。

start:必需,数值。规定删除元素的开始位置。

length:可选。数值。规定被移除的元素个数。

array:可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。

返回值:返回包含被提取元素的数组。

<?php
$arr1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow');
$arr2 = array('a' => 'purple', 'b' => 'orange');
array_splice($arr1, 0, 2, $arr2);	// 把数组中的指定元素去掉并用其它值取代。
var_dump($arr1);	//array(4) { [0]=> string(6) "purple" [1]=> string(6) "orange" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" }

1.5 数组指针操作

1.6 数组键值操作

1.7 数组排序

转载于:https://www.cnblogs.com/falling-maple/p/9426347.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值