zoukankan      html  css  js  c++  java
  • 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 数组排序

  • 相关阅读:
    Hive问题
    VirtualBox安装增强功能
    Shell脚本 数据清洗
    团队项目第一阶段冲刺站立会议06
    梦断代码阅读笔记1
    团队项目第一阶段冲刺站立会议05
    团队项目第一阶段冲刺站立会议04
    团队项目第一阶段冲刺站立会议03
    团队项目第一阶段冲刺站立会议02
    团队项目第一阶段冲刺站立会议01
  • 原文地址:https://www.cnblogs.com/falling-maple/p/9426347.html
Copyright © 2011-2022 走看看