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 数组排序

  • 相关阅读:
    背水一战 Windows 10 (26)
    背水一战 Windows 10 (25)
    背水一战 Windows 10 (24)
    背水一战 Windows 10 (23)
    背水一战 Windows 10 (22)
    背水一战 Windows 10 (21)
    背水一战 Windows 10 (20)
    背水一战 Windows 10 (19)
    背水一战 Windows 10 (18)
    背水一战 Windows 10 (17)
  • 原文地址:https://www.cnblogs.com/falling-maple/p/9426347.html
Copyright © 2011-2022 走看看