PHP 常用函数

PHP 常用函数 - 字符串函数
PHP 常用函数 - 数组函数
PHP 常用函数 - 数学函数
PHP 常用函数 - 目录、文件函数
PHP 常用函数 - 其他常用函数


文章目录

  • PHP 常用函数
  • 数组函数
    • 1、数组键值相关函数
      • 1、list() 把数组中的值赋给一些数组变量。
      • 2、range() 创建一个包含指定范围的元素的数组。
      • 3、key() 从关联数组中取得键名。
      • 4、in_array() 检查数组中是否存在指定的值。
      • 5、each() 返回数组中当前的键/值对。
      • 6、compact() 创建一个包含变量名和它们的值的数组。
      • 7、extract() 从数组中将变量导入到当前的符号表。
      • 8、array_key_exists() 检查指定的键名是否存在于数组中。
      • 9、array_key_first() 获取指定数组的第一个键值。
      • 10、array_key_last() 获取指定数组的最后一个键值。
      • 11、array_keys() 返回数组中所有的键名。
      • 12、array_rand() 从数组中随机选出一个或多个元素,返回键名。
      • 13、array_values() 返回数组中所有的值。
      • 14、array_count_values() 用于统计数组中所有值出现的次数。
    • 2、数组更改函数
      • 1、array_map() 将用户自定义函数作用到给定数组的每个值上,返回新的值。
      • 2、array_pad() 将指定数量的带有指定值的元素插入到数组中。
      • 3、array_pop() 删除数组中的最后一个元素(出栈)。
      • 4、array_push() 将一个或多个元素插入数组的末尾(入栈)。
      • 5、array_reduce() 通过使用用户自定义函数,迭代地将数组简化为一个字符串,并返回。
      • 6、array_replace() 使用后面数组的值替换第一个数组的值。
      • 7、array_replace_recursive() 递归地使用后面数组的值替换第一个数组的值。
      • 8、array_reverse() 将原数组中的元素顺序翻转,创建新的数组并返回。
      • 9、array_search() 在数组中搜索给定的值,如果成功则返回相应的键名。
      • 10、array_shift() 删除数组中的第一个元素,并返回被删除元素的值。
      • 11、array_slice() 返回数组中的选定部分。
      • 12、array_splice() 把数组中的指定元素去掉并用其它值取代。
      • 13、array_unique() 删除数组中重复的值。
      • 14、array_unshift() 在数组开头插入一个或多个元素。
      • 15、array_walk() 对数组中的每个成员应用用户函数。
      • 16、array_walk_recursive() 对数组中的每个成员递归地应用用户函数。
      • 17、array_change_key_case() 返回其键均为大写或小写的数组。
      • 28、array_chunk() 把一个数组分割为新的数组块。
      • 29、array_fill() 用给定的键值填充数组。
      • 20、array_fill_keys() 用给定的指定键名的键值填充数组。
      • 21、array_filter() 用回调函数过滤数组中的元素。
      • 22、array_flip() 反转/交换数组中的键名和对应关联的键值。
      • 23、array_column() 返回输入数组中某个单一列的值。
      • 24、array_combine() 通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。
      • 25、array_merge() 把一个或多个数组合并为一个数组。
      • 26、array_merge_recursive() 递归地把一个或多个数组合并为一个数组。
      • 27、array_product() 计算数组中所有值的乘积。
      • 28、array_sum() 返回数组中所有值的和。
    • 3、数组比较函数
      • 1、array_diff() 比较数组,返回两个数组的差集(只比较键值)。
      • 2、array_diff_assoc() 比较数组,返回两个数组的差集(比较键名和键值)。
      • 3、array_diff_key() 比较数组,返回两个数组的差集(只比较键名)。
      • 4、array_diff_uassoc() 比较数组,返回两个数组的差集(比较键名和键值,使用用户自定义的键名比较函数)。
      • 5、array_diff_ukey() 比较数组,返回两个数组的差集(只比较键名,使用用户自定义的键名比较函数)。
      • 6、array_intersect() 比较数组,返回两个数组的交集(只比较键值)。
      • 7、array_intersect_assoc() 比较数组,返回两个数组的交集(比较键名和键值)。
      • 8、array_intersect_key() 比较数组,返回两个数组的交集(只比较键名)。
      • 9、array_intersect_uassoc() 比较数组,返回两个数组的交集(比较键名和键值,使用用户自定义的键名比较函数)。
      • 10、array_intersect_ukey() 比较数组,返回两个数组的交集(只比较键名,使用用户自定义的键名比较函数)。
      • 11、array_udiff() 比较数组,返回两个数组的差集(只比较键值,使用一个用户自定义的键名比较函数)。
      • 12、array_udiff_assoc() 比较数组,返回两个数组的差集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。
      • 13、array_udiff_uassoc() 比较数组,返回两个数组的差集(比较键名和键值,使用两个用户自定义的键名比较函数)。
      • 14、array_uintersect() 比较数组,返回两个数组的交集(只比较键值,使用一个用户自定义的键名比较函数)。
      • 15、array_uintersect_assoc() 比较数组,返回两个数组的交集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。
      • 16、array_uintersect_uassoc() 比较数组,返回两个数组的交集(比较键名和键值,使用两个用户自定义的键名比较函数)。
    • 4、数组指针函数
      • 1、current() | pos() 返回数组中的当前元素。
      • 2、next() 将数组中的内部指针向后移动一位。
      • 3、prev() 将数组的内部指针倒回一位。
      • 4、reset() 将数组的内部指针指向第一个元素。
      • 5、end() 将数组的内部指针指向最后一个元素。
      • 6、count() | sizeof() 返回数组中元素的数目。
    • 5、数组排序函数
      • 1、sort() 对数值数组进行升序排序。
      • 2、rsort() 对数值数组进行降序排序。
      • 3、ksort() 对关联数组按照键名升序排序。
      • 4、krsort() 对关联数组按照键名降序排序。
      • 5、asort() 对关联数组按照键值进行升序排序。
      • 6、arsort() 对关联数组按照键值进行降序排序。
      • 7、usort() 使用用户自定义的比较函数对数组进行排序
      • 8、uksort() 使用用户自定义的比较函数对数组中的键名进行排序。
      • 9、uasort() 使用用户自定义的比较函数对数组中的键值进行排序。
      • 10、natsort() 用"自然排序"算法对数组排序。
      • 11、natcasesort() 用"自然排序"算法对数组进行不区分大小写字母的排序。
      • 12、shuffle() 把数组中的元素按随机顺序重新排列。
      • 13、array_multisort() 对多个数组或多维数组进行排序。

提示:以下是本篇文章正文内容,下面案例可供参考

本篇文章参考菜鸟教程,仅供参考(常用函数就不写示例了,还有比较复杂的可参考菜鸟或官方手册)。

数组函数

1、数组键值相关函数

1、list() 把数组中的值赋给一些数组变量。

$my_array = array("Dog","Cat","Horse");
list($a, $b, $c) = $my_array;
echo "I have several animals, a $a, a $b and a $c."; // I have several animals, a Dog, a Cat and a Horse.

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

$number = range(0,5);
print_r ($number); // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )

3、key() 从关联数组中取得键名。

$people=array("Peter","Joe","Glenn","Cleveland");
echo key($people); // 0

4、in_array() 检查数组中是否存在指定的值。

$sites = array("Google", "Runoob", "Taobao", "Facebook");
var_dump(in_array("Runoob", $sites)); // bool(true)

5、each() 返回数组中当前的键/值对。

$people = array("Peter", "Joe", "Glenn", "Cleveland");
print_r (each($people)); // Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )

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

$firstname = "Peter";
$lastname = "Griffin";
$age = "41";
$result = compact("firstname", "lastname", "age");
print_r($result); // Array ( [firstname] => Peter [lastname] => Griffin [age] => 41 )

7、extract() 从数组中将变量导入到当前的符号表。

$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c"; // $a = Cat; $b = Dog; $c = Horse

8、array_key_exists() 检查指定的键名是否存在于数组中。

$a=array("Volvo"=>"XC90","BMW"=>"X5");
var_dump(array_key_exists("Volvo", $a)); // bool(true)

9、array_key_first() 获取指定数组的第一个键值。

$array = ['a' => 1, 'b' => 2, 'c' => 3];
$firstKey = array_key_first($array);
echo $firstKey; // a

10、array_key_last() 获取指定数组的最后一个键值。

$array = ['a' => 1, 'b' => 2, 'c' => 3];
$lastKey = array_key_last($array);
echo $lastKey; // c

11、array_keys() 返回数组中所有的键名。

$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a)); // Array ( [0] => Volvo [1] => BMW [2] => Toyota )

12、array_rand() 从数组中随机选出一个或多个元素,返回键名。

$a=array("red","green","blue","yellow","brown");
$random_keys=array_rand($a,3);
echo $a[$random_keys[0]]; // red
echo $a[$random_keys[1]]; // blue
echo $a[$random_keys[2]]; // brown

13、array_values() 返回数组中所有的值。

$a=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
print_r(array_values($a)); // Array ( [0] => Peter [1] => 41 [2] => USA )

14、array_count_values() 用于统计数组中所有值出现的次数。

$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a)); // Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )

2、数组更改函数

1、array_map() 将用户自定义函数作用到给定数组的每个值上,返回新的值。

function myfunction($num) {return($num*$num);
}
$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a)); // Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

2、array_pad() 将指定数量的带有指定值的元素插入到数组中。

$a=array("red","green");
print_r(array_pad($a,5,"blue")); // Array ( [0] => red [1] => green [2] => blue [3] => blue [4] => blue )

3、array_pop() 删除数组中的最后一个元素(出栈)。

$a=array("red","green","blue");
array_pop($a);
print_r($a); // Array ( [0] => red [1] => green )

4、array_push() 将一个或多个元素插入数组的末尾(入栈)。

$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a); // Array ( [0] => red [1] => green [2] => blue [3] => yellow )

5、array_reduce() 通过使用用户自定义函数,迭代地将数组简化为一个字符串,并返回。

function myfunction($v1,$v2) {return $v1 . "-" . $v2;
}
$a=array("Dog","Cat","Horse");
print_r(array_reduce($a,"myfunction")); // -Dog-Cat-Horse

6、array_replace() 使用后面数组的值替换第一个数组的值。

$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_replace($a1,$a2)); // Array ( [0] => blue [1] => yellow )

7、array_replace_recursive() 递归地使用后面数组的值替换第一个数组的值。

$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2)); // Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black [1] => blue ) )

8、array_reverse() 将原数组中的元素顺序翻转,创建新的数组并返回。

$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a)); // Array ( [c] => Toyota [b] => BMW [a] => Volvo )

9、array_search() 在数组中搜索给定的值,如果成功则返回相应的键名。

$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);  // a

10、array_shift() 删除数组中的第一个元素,并返回被删除元素的值。

$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_shift($a); // red
print_r ($a); // Array ( [b] => green [c] => blue )

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

$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,2)); // Array ( [0] => blue [1] => yellow [2] => brown )

12、array_splice() 把数组中的指定元素去掉并用其它值取代。

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1); // Array ( [0] => purple [1] => orange [c] => blue [d] => yellow )

13、array_unique() 删除数组中重复的值。

$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a)); // Array ( [a] => red [b] => green )

14、array_unshift() 在数组开头插入一个或多个元素。

$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");
print_r($a); // Array ( [0] => blue [a] => red [b] => green )

15、array_walk() 对数组中的每个成员应用用户函数。

function myfunction($value,$key) {echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction"); // 输出:
The key a has the value red
The key b has the value green
The key c has the value blue

16、array_walk_recursive() 对数组中的每个成员递归地应用用户函数。

function myfunction($value,$key) {
echo "The key $key has the value $value<br>";
}
$a1=array("a"=>"red","b"=>"green");
$a2=array($a1,"1"=>"blue","2"=>"yellow");
array_walk_recursive($a2,"myfunction");// 输出:
The key a has the value red
The key b has the value green
The key 1 has the value blue
The key 2 has the value yellow

17、array_change_key_case() 返回其键均为大写或小写的数组。

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
print_r(array_change_key_case($age,CASE_UPPER)); // Array([PETER] => 35 [BEN] => 37 [JOE] => 43)

28、array_chunk() 把一个数组分割为新的数组块。

$cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
print_r(array_chunk($cars,2)); // 输出:
Array
([0] => Array([0] => Volvo[1] => BMW)[1] => Array([0] => Toyota[1] => Honda)[2] => Array([0] => Mercedes[1] => Opel))

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

$a1=array_fill(3,4,"blue");
$b1=array_fill(0,1,"red");
print_r($a1);
print_r($b1);// 输出:
Array ( [3] => blue [4] => blue [5] => blue [6] => blue )
Array ( [0] => red )

20、array_fill_keys() 用给定的指定键名的键值填充数组。

$keys=array("a","b","c","d");
$a1=array_fill_keys($keys,"blue");
print_r($a1); // Array ( [a] => blue [b] => blue [c] => blue [d] => blue )

21、array_filter() 用回调函数过滤数组中的元素。

function test_odd($var) {return($var & 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd")); // Array ( [3] => 3 )

22、array_flip() 反转/交换数组中的键名和对应关联的键值。

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$result=array_flip($a1);
print_r($result); // Array ( [red] => a [green] => b [blue] => c [yellow] => d )

23、array_column() 返回输入数组中某个单一列的值。

$a = array(array('id' => 5698,'first_name' => 'Peter','last_name' => 'Griffin',),array('id' => 4767,'first_name' => 'Ben','last_name' => 'Smith',),array('id' => 3809,'first_name' => 'Joe','last_name' => 'Doe',)
);$last_names1 = array_column($a, 'last_name');
print_r($last_names1);
$last_names2 = array_column($a, 'last_name', 'id');
print_r($last_names2);// 输出1:
Array
([0] => Griffin[1] => Smith[2] => Doe
)// 输出2:
Array
([5698] => Griffin[4767] => Smith[3809] => Doe
)

24、array_combine() 通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。

$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);
print_r($c); // Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )

25、array_merge() 把一个或多个数组合并为一个数组。

$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2)); // Array([a] => red [b] => yellow [c] => blue)

26、array_merge_recursive() 递归地把一个或多个数组合并为一个数组。

$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2)); // Array ( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue )

27、array_product() 计算数组中所有值的乘积。

$a=array(5,5);
echo(array_product($a)); // 25

28、array_sum() 返回数组中所有值的和。

$a=array(5,15,25);
echo array_sum($a); // 45

3、数组比较函数

1、array_diff() 比较数组,返回两个数组的差集(只比较键值)。

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result); // Array ( [d] => yellow )

2、array_diff_assoc() 比较数组,返回两个数组的差集(比较键名和键值)。

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");
$result=array_diff_assoc($a1,$a2);
print_r($result); // Array ( [d] => yellow )

3、array_diff_key() 比较数组,返回两个数组的差集(只比较键名)。

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");
$result=array_diff_key($a1,$a2);
print_r($result); // Array ( [b] => green )

4、array_diff_uassoc() 比较数组,返回两个数组的差集(比较键名和键值,使用用户自定义的键名比较函数)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");$result = array_diff_uassoc($a1,$a2,"myfunction");
print_r($result); // Array ( [a] => red [c] => blue )

5、array_diff_ukey() 比较数组,返回两个数组的差集(只比较键名,使用用户自定义的键名比较函数)。

function myfunction($a,$b)   {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");$result=array_diff_ukey($a1,$a2,"myfunction");
print_r($result); // Array ( [c] => blue )

6、array_intersect() 比较数组,返回两个数组的交集(只比较键值)。

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");$result=array_intersect($a1,$a2);
print_r($result); // Array ( [a] => red [b] => green [c] => blue )

7、array_intersect_assoc() 比较数组,返回两个数组的交集(比较键名和键值)。

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");$result=array_intersect_assoc($a1,$a2);
print_r($result); // Array ( [a] => red [b] => green [c] => blue )

8、array_intersect_key() 比较数组,返回两个数组的交集(只比较键名)。

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");$result=array_intersect_key($a1,$a2);
print_r($result); // Array ( [a] => red [c] => blue )

9、array_intersect_uassoc() 比较数组,返回两个数组的交集(比较键名和键值,使用用户自定义的键名比较函数)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result); // Array ( [b] => green )

10、array_intersect_ukey() 比较数组,返回两个数组的交集(只比较键名,使用用户自定义的键名比较函数)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");$result=array_intersect_ukey($a1,$a2,"myfunction");
print_r($result); // Array ( [a] => red [b] => green )

11、array_udiff() 比较数组,返回两个数组的差集(只比较键值,使用一个用户自定义的键名比较函数)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");$result=array_udiff($a1,$a2,"myfunction");
print_r($result); // Array ( [a] => red [b] => green )

12、array_udiff_assoc() 比较数组,返回两个数组的差集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"blue","c"=>"green");$result=array_udiff_assoc($a1,$a2,"myfunction");
print_r($result); // Array ( [b] => green [c] => blue )

13、array_udiff_uassoc() 比较数组,返回两个数组的差集(比较键名和键值,使用两个用户自定义的键名比较函数)。

function myfunction_key($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
function myfunction_value($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","c"=>"green");$result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result); // Array ( [c] => blue )

14、array_uintersect() 比较数组,返回两个数组的交集(只比较键值,使用一个用户自定义的键名比较函数)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");$result=array_uintersect($a1,$a2,"myfunction");
print_r($result); // Array ( [c] => blue )

15、array_uintersect_assoc() 比较数组,返回两个数组的交集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。

function myfunction($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"blue","c"=>"green");$result=array_uintersect_assoc($a1,$a2,"myfunction");
print_r($result); // Array ( [a] => red )

16、array_uintersect_uassoc() 比较数组,返回两个数组的交集(比较键名和键值,使用两个用户自定义的键名比较函数)。

function myfunction_key($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}
function myfunction_value($a,$b) {if ($a===$b) {return 0;}return ($a>$b)?1:-1;
}$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","c"=>"green");$result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result); // Array ( [a] => red [b] => green )

4、数组指针函数

1、current() | pos() 返回数组中的当前元素。

$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people) ;  // Peter

2、next() 将数组中的内部指针向后移动一位。

$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people); // Peter
echo next($people); // Joe

3、prev() 将数组的内部指针倒回一位。

$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people); // Peter
echo next($people); // Joe
echo prev($people); // Peter

4、reset() 将数组的内部指针指向第一个元素。

$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people); // Peter
echo next($people) ;// Joe
echo reset($people); // Peter

5、end() 将数组的内部指针指向最后一个元素。

$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people) ; // Peter
echo end($people); // Cleveland

6、count() | sizeof() 返回数组中元素的数目。

$cars=array("Volvo","BMW","Toyota");
echo count($cars); // 3

5、数组排序函数

1、sort() 对数值数组进行升序排序。

$cars=array("Volvo","BMW","Toyota");
sort($cars);$clength=count($cars);
for($x=0;$x<$clength;$x++)
{echo $cars[$x];echo "<br>";
}
// 输出:
BMW
Toyota
Volvo

2、rsort() 对数值数组进行降序排序。

$cars=array("Volvo","BMW","Toyota");
rsort($cars);$clength=count($cars);
for($x=0;$x<$clength;$x++)
{echo $cars[$x];echo "<br>";
}
// 输出:
Volvo
Toyota
BMW

3、ksort() 对关联数组按照键名升序排序。

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
foreach($age as $x=>$x_value) {echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
// 输出:
Key=Ben, Value=37
Key=Joe, Value=43
Key=Peter, Value=35

4、krsort() 对关联数组按照键名降序排序。

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
foreach($age as $x=>$x_value) {echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
// 输出:
Key=Peter, Value=35
Key=Joe, Value=43
Key=Ben, Value=37

5、asort() 对关联数组按照键值进行升序排序。

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
asort($age);
foreach($age as $x=>$x_value)  {echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
// 输出:
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

6、arsort() 对关联数组按照键值进行降序排序。

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age);foreach($age as $x=>$x_value)  {echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
// 输出:
Key=Joe, Value=43
Key=Ben, Value=37
Key=Peter, Value=35

7、usort() 使用用户自定义的比较函数对数组进行排序

function my_sort($a,$b) {if ($a==$b) return 0;return ($a<$b)?-1:1;
}$a=array(4,2,8,6);
usort($a,"my_sort");$arrlength=count($a);
for($x=0;$x<$arrlength;$x++)  {echo $a[$x];echo "<br>";
}
// 输出:
2
4
6
8

8、uksort() 使用用户自定义的比较函数对数组中的键名进行排序。

function my_sort($a,$b) {if ($a==$b) return 0;return ($a<$b)?-1:1;
}$a=array(4,2,8,6);
uksort($a,"my_sort");$arrlength=count($a);
for($x=0;$x<$arrlength;$x++)  {echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
// 输出:
Key=a, Value=4
Key=b, Value=2
Key=c, Value=8
Key=d, Value=6

9、uasort() 使用用户自定义的比较函数对数组中的键值进行排序。

function my_sort($a,$b) {if ($a==$b) return 0;return ($a<$b)?-1:1;
}
$arr=array("a"=>4,"b"=>2,"c"=>8,d=>"6");
uasort($arr,"my_sort");foreach($arr as $x=>$x_value) {echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
// 输出:
Key=b, Value=2
Key=a, Value=4
Key=d, Value=6
Key=c, Value=8

10、natsort() 用"自然排序"算法对数组排序。

$temp_files = array("temp15.txt","temp10.txt","temp1.txt","temp22.txt","temp2.txt");sort($temp_files);
echo "Standard sorting: ";
print_r($temp_files);
echo "<br>";natsort($temp_files);
echo "Natural order: ";
print_r($temp_files);// 输出:
Standard sorting: Array ( [0] => temp1.txt [1] => temp10.txt [2] => temp15.txt [3] => temp2.txt [4] => temp22.txt )
Natural order: Array ( [0] => temp1.txt [3] => temp2.txt [1] => temp10.txt [2] => temp15.txt [4] => temp22.txt )

11、natcasesort() 用"自然排序"算法对数组进行不区分大小写字母的排序。

$temp_files = array("temp15.txt","Temp10.txt",
"temp1.txt","Temp22.txt","temp2.txt");natsort($temp_files);
echo "Natural order: ";
print_r($temp_files);
echo "<br />";natcasesort($temp_files);
echo "Natural order case insensitve: ";
print_r($temp_files);//上面代码将输出:
Natural order:
Array
([0] => Temp10.txt[1] => Temp22.txt[2] => temp1.txt[4] => temp2.txt[3] => temp15.txt
)
Natural order case insensitve:
Array
([2] => temp1.txt[4] => temp2.txt[0] => Temp10.txt[3] => temp15.txt[1] => Temp22.txt
)

12、shuffle() 把数组中的元素按随机顺序重新排列。

$my_array = array("red","green","blue","yellow","purple");
shuffle($my_array);
print_r($my_array); // Array ( [0] => blue [1] => green [2] => yellow [3] => red [4] => purple )

13、array_multisort() 对多个数组或多维数组进行排序。

$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a); // Array ( [0] => Bear [1] => Cat [2] => Dog [3] => Horse [4] => Zebra )

PHP 常用函数 - 数组函数相关推荐

  1. clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数

    clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数 算数函数 ...

  2. php常用的数组函数及功能,PHP 常用数组函数 (1)

    PHP 常用数组函数 (1) 1,array_fill(index,number,value) 用值填充数组 参数说明: index: 被返回数组的第一个索引值 number: 规定要插入的元素的个数 ...

  3. php常用操作数组函数,PHP自带的几个实用的数组函数

    PHP自带的几个实用的数组函数 php之所以被认为是快速开发的好工具,有一个原因就是他内置了大量的实用函数,今天我们介绍几个PHP自带的数组函数.在开发时可以使用这些函数,不仅可以提高编程的效率,还可 ...

  4. php常用操作数组函数,PHP常见数组函数用法小结

    本文实例讲述了PHP常见数组函数用法.分享给大家供大家参考,具体如下: 1.array array_merge(array $array1 [, array  $array2 [, $array]]) ...

  5. PHP常用的数组函数

    array range ( mixed $low , mixed $high [, number $step ] ) 创建一个连续的数组 range('a','z'); foreach (range( ...

  6. 常用PHP数组函数总结

    1.array_values()  以索引数组的形式返回数组的中所有元素的值 array_keys()  以索引数组的形式返回数组的中所有元素的值 2.in_array()   检查数组中是否存在某值 ...

  7. php end array_value,PHP常用处理数组函数

    一.数组的一些关于键名和值的基础操作函数 1.获取数组所有的键或值:array_keys() array_values() $array=['a'=>'A','b'=>'B',4,&quo ...

  8. php preserve keys,PHP常用的数组函数

    array range ( mixed $low , mixed $high [, number $step ] ) 创建一个连续的数组 range('a','z'); foreach (range( ...

  9. 【技术分享】PHP常用的数组函数

    数组中元素指针的移动 next:向后移动,指向下一个元素 prev:向前移动,指向前一个元素 end:指向最后一个元素 reset:复位,重新指向第一个元素 键.值的相关操作 key:获取数组当前元素 ...

最新文章

  1. FastAPI 之自动化测试数据库接口
  2. nginx php_admin_value,新手求租 能否贴一下nginx的静态配置
  3. 共享内存查看清除命令ipcs和ipcrm
  4. python电脑配置大概要多少钱-学python最电脑配置有要求么
  5. 【单片机相关】的网站
  6. Linux改变进程优先级的nice命令
  7. beforeRouteEnter,beforeRouteLeave函数
  8. 吉他谱----see you again
  9. 学以致用十-----centos7.2+python3.6+vim8.1+YouCompleteMe
  10. Linux学习总结(6)——CenterOS7安装mysql5.5的方法
  11. python能做什么工作-python能做哪方面的工作
  12. idea :插件Statistic 统计代码数量和行数
  13. c语言报告 实验环境怎么写,C语言实验报告
  14. linux rarcrack破解rar、zip和7z压缩包简单密码的工具
  15. 计算机重装系统后黑屏,重装系统过程中电脑黑屏后修复的方法-电脑自学网
  16. 经纬度转WGS84坐标
  17. 助力湾区金融科技,巨杉数据库入选首届粤港澳大湾区金融科技飞鱼企业20强榜单
  18. 洛谷:P2832 行路难(堆优化Dijkstra(错解)bfs(正解) + 记录路径)
  19. python tutorial什么意思中文_Python 2.7 Tutorial 中文版
  20. MySQL创建视图语法,MySQL视图的作用

热门文章

  1. 数据分析 | 岭回归与LASSO回归
  2. 使用Fiddler实现网络限速,模拟低速网络
  3. 利用Xutils框架进行断点续传下载
  4. 音视频篇 - 音视频基础概念
  5. MySQL数据库的管理工具
  6. find() python
  7. 电脑提示d3dcompiler_47.dll缺失怎么修复?
  8. 软件工程计算机导论试题及答案,2010级计算机学院计算机导论试题A卷.doc
  9. html所属省份选择框_JS省份联级下拉框
  10. 超级好用的阿里巴巴字体图标库,附教程