插件窝 干货文章 php有几种方法定义数组

php有几种方法定义数组

array 函数 数组 使用 397    来源:    2025-03-16

在PHP中,定义数组有多种方法。以下是几种常见的方式:

1. 使用 array() 函数

这是PHP中最传统和最常见的方式。

$array = array("apple", "banana", "cherry");

2. 使用短数组语法 [](PHP 5.4及以上版本)

从PHP 5.4开始,可以使用更简洁的短数组语法。

$array = ["apple", "banana", "cherry"];

3. 使用 range() 函数

range() 函数可以生成一个包含指定范围内元素的数组。

$array = range(1, 10); // 生成1到10的数组

4. 使用 explode() 函数

explode() 函数可以将字符串按指定的分隔符拆分为数组。

$string = "apple,banana,cherry";
$array = explode(",", $string);

5. 使用 array_fill() 函数

array_fill() 函数可以创建一个包含指定数量相同值的数组。

$array = array_fill(0, 5, "apple"); // 创建一个包含5个"apple"的数组

6. 使用 array_combine() 函数

array_combine() 函数可以将两个数组合并为一个关联数组,其中一个数组作为键,另一个数组作为值。

$keys = ["a", "b", "c"];
$values = [1, 2, 3];
$array = array_combine($keys, $values);

7. 使用 array_pad() 函数

array_pad() 函数可以将数组填充到指定长度。

$array = [1, 2, 3];
$array = array_pad($array, 5, 0); // 将数组填充到长度为5,填充值为0

8. 使用 compact() 函数

compact() 函数可以将变量名和它们的值组合成一个关联数组。

$name = "John";
$age = 30;
$array = compact('name', 'age');

9. 使用 list() 函数

list() 函数可以将数组中的值赋给一组变量。

$array = [1, 2, 3];
list($a, $b, $c) = $array;

10. 使用 json_decode() 函数

json_decode() 函数可以将JSON字符串转换为PHP数组。

$json = '{"name":"John", "age":30}';
$array = json_decode($json, true);

11. 使用 parse_str() 函数

parse_str() 函数可以将查询字符串解析为数组。

$query = "name=John&age=30";
parse_str($query, $array);

12. 使用 str_split() 函数

str_split() 函数可以将字符串拆分为数组。

$string = "hello";
$array = str_split($string);

13. 使用 array_map() 函数

array_map() 函数可以将回调函数应用到数组的每个元素上。

$array = [1, 2, 3];
$array = array_map(function($value) {
    return $value * 2;
}, $array);

14. 使用 array_filter() 函数

array_filter() 函数可以过滤数组中的元素。

$array = [1, 2, 3, 4, 5];
$array = array_filter($array, function($value) {
    return $value % 2 == 0;
});

15. 使用 array_reduce() 函数

array_reduce() 函数可以将数组缩减为单个值。

$array = [1, 2, 3, 4, 5];
$sum = array_reduce($array, function($carry, $item) {
    return $carry + $item;
}, 0);

16. 使用 array_walk() 函数

array_walk() 函数可以对数组中的每个元素应用用户自定义函数。

$array = [1, 2, 3];
array_walk($array, function(&$value, $key) {
    $value *= 2;
});

17. 使用 array_walk_recursive() 函数

array_walk_recursive() 函数可以对多维数组中的每个元素应用用户自定义函数。

$array = [1, [2, 3], 4];
array_walk_recursive($array, function(&$value, $key) {
    $value *= 2;
});

18. 使用 array_replace() 函数

array_replace() 函数可以用一个或多个数组的值替换第一个数组的值。

$array1 = [1, 2, 3];
$array2 = [4, 5];
$array = array_replace($array1, $array2);

19. 使用 array_merge() 函数

array_merge() 函数可以将一个或多个数组合并为一个数组。

$array1 = [1, 2, 3];
$array2 = [4, 5];
$array = array_merge($array1, $array2);

20. 使用 array_chunk() 函数

array_chunk() 函数可以将数组分割为多个小块。

$array = [1, 2, 3, 4, 5];
$array = array_chunk($array, 2);

21. 使用 array_slice() 函数

array_slice() 函数可以从数组中取出一段。

$array = [1, 2, 3, 4, 5];
$array = array_slice($array, 2, 2);

22. 使用 array_splice() 函数

array_splice() 函数可以移除数组的一部分并用其他值替换。

$array = [1, 2, 3, 4, 5];
array_splice($array, 2, 2, [6, 7]);

23. 使用 array_unique() 函数

array_unique() 函数可以移除数组中的重复值。

$array = [1, 2, 2, 3, 4, 4, 5];
$array = array_unique($array);

24. 使用 array_flip() 函数

array_flip() 函数可以交换数组中的键和值。

$array = ["a" => 1, "b" => 2, "c" => 3];
$array = array_flip($array);

25. 使用 array_keys() 函数

array_keys() 函数可以返回数组中的所有键。

$array = ["a" => 1, "b" => 2, "c" => 3];
$array = array_keys($array);

26. 使用 array_values() 函数

array_values() 函数可以返回数组中的所有值。

$array = ["a" => 1, "b" => 2, "c" => 3];
$array = array_values($array);

27. 使用 array_column() 函数

array_column() 函数可以返回数组中指定列的值。

$array = [
    ["id" => 1, "name" => "John"],
    ["id" => 2, "name" => "Jane"],
];
$array = array_column($array, "name");

28. 使用 array_count_values() 函数

array_count_values() 函数可以统计数组中所有值出现的次数。

$array = [1, 2, 2, 3, 4, 4, 5];
$array = array_count_values($array);

29. 使用 array_diff() 函数

array_diff() 函数可以计算数组的差集。

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$array = array_diff($array1, $array2);

30. 使用 array_intersect() 函数

array_intersect() 函数可以计算数组的交集。

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$array = array_intersect($array1, $array2);

31. 使用 array_merge_recursive() 函数

array_merge_recursive() 函数可以递归地合并一个或多个数组。

$array1 = ["a" => 1, "b" => 2];
$array2 = ["b" => 3, "c" => 4];
$array = array_merge_recursive($array1, $array2);

32. 使用 array_replace_recursive() 函数

array_replace_recursive() 函数可以递归地用一个或多个数组替换第一个数组的值。

$array1 = ["a" => 1, "b" => 2];
$array2 = ["b" => 3, "c" => 4];
$array = array_replace_recursive($array1, $array2);

33. 使用 array_multisort() 函数

array_multisort() 函数可以对多个数组或多维数组进行排序。

$array1 = [3, 1, 2];
$array2 = ["c", "a", "b"];
array_multisort($array1, $array2);

34. 使用 array_reverse() 函数

array_reverse() 函数可以返回一个元素顺序相反的数组。

$array = [1, 2, 3, 4, 5];
$array = array_reverse($array);

35. 使用 array_search() 函数

array_search() 函数可以在数组中搜索给定的值并返回对应的键。

$array = ["a" => 1, "b" => 2, "c" => 3];
$key = array_search(2, $array);

36. 使用 array_shift() 函数

array_shift() 函数可以将数组的第一个元素移出并返回。

$array = [1, 2, 3, 4, 5];
$firstElement = array_shift($array);

37. 使用 array_unshift() 函数

array_unshift() 函数可以将一个或多个元素插入数组的开头。

$array = [1, 2, 3, 4, 5];
array_unshift($array, 0);

38. 使用 array_pop() 函数

array_pop() 函数可以将数组的最后一个元素移出并返回。

$array = [1, 2, 3, 4, 5];
$lastElement = array_pop($array);

39. 使用 array_push() 函数

array_push() 函数可以将一个或多个元素压入数组的末尾。

$array = [1, 2, 3, 4, 5];
array_push($array, 6);

40. 使用 array_rand() 函数

array_rand() 函数可以从数组中随机取出一个或多个键。

$array = [1, 2, 3, 4, 5];
$randomKey = array_rand($array);

41. 使用 array_sum() 函数

array_sum() 函数可以计算数组中所有值的和。

$array = [1, 2, 3, 4, 5];
$sum = array_sum($array);

42. 使用 array_product() 函数

array_product() 函数可以计算数组中所有值的乘积。

$array = [1, 2, 3, 4, 5];
$product = array_product($array);

43. 使用 array_change_key_case() 函数

array_change_key_case() 函数可以将数组中的所有键名转换为大写或小写。

$array = ["a" => 1, "B" => 2, "c" => 3];
$array = array_change_key_case($array, CASE_UPPER);

44. 使用 array_key_exists() 函数

array_key_exists() 函数可以检查数组中是否存在指定的键。

$array = ["a" => 1, "b" => 2, "c" => 3];
$exists = array_key_exists("b", $array);

45. 使用 in_array() 函数

in_array() 函数可以检查数组中是否存在指定的值。

$array = [1, 2, 3, 4, 5];
$exists = in_array(3, $array);

46. 使用 array_diff_assoc() 函数

array_diff_assoc() 函数可以计算数组的差集,包括键名和键值。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "b" => 4, "c" => 3];
$array = array_diff_assoc($array1, $array2);

47. 使用 array_intersect_assoc() 函数

array_intersect_assoc() 函数可以计算数组的交集,包括键名和键值。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "b" => 4, "c" => 3];
$array = array_intersect_assoc($array1, $array2);

48. 使用 array_diff_key() 函数

array_diff_key() 函数可以计算数组的差集,仅比较键名。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "d" => 4, "e" => 5];
$array = array_diff_key($array1, $array2);

49. 使用 array_intersect_key() 函数

array_intersect_key() 函数可以计算数组的交集,仅比较键名。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "d" => 4, "e" => 5];
$array = array_intersect_key($array1, $array2);

50. 使用 array_diff_uassoc() 函数

array_diff_uassoc() 函数可以计算数组的差集,使用用户自定义的回调函数比较键名和键值。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "b" => 4, "c" => 3];
$array = array_diff_uassoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

51. 使用 array_intersect_uassoc() 函数

array_intersect_uassoc() 函数可以计算数组的交集,使用用户自定义的回调函数比较键名和键值。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "b" => 4, "c" => 3];
$array = array_intersect_uassoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

52. 使用 array_diff_ukey() 函数

array_diff_ukey() 函数可以计算数组的差集,使用用户自定义的回调函数比较键名。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "d" => 4, "e" => 5];
$array = array_diff_ukey($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

53. 使用 array_intersect_ukey() 函数

array_intersect_ukey() 函数可以计算数组的交集,使用用户自定义的回调函数比较键名。

$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 1, "d" => 4, "e" => 5];
$array = array_intersect_ukey($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

54. 使用 array_udiff() 函数

array_udiff() 函数可以计算数组的差集,使用用户自定义的回调函数比较值。

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 4, 5, 6, 7];
$array = array_udiff($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

55. 使用 array_uintersect() 函数

array_uintersect() 函数可以计算数组的交集,使用用户自定义的回调函数比较值。

```php $array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4,