插件窝 干货文章 php数组的定义有哪些

php数组的定义有哪些

Array 数组 函数 使用 197    来源:    2025-03-18

在PHP中,数组是一种非常灵活的数据结构,可以用来存储多个值。PHP支持多种定义数组的方式,以下是常见的几种:

1. 索引数组(Indexed Array)

索引数组是最常见的数组类型,使用数字作为键(索引)。

$array = array("apple", "banana", "cherry");
// 或者
$array = ["apple", "banana", "cherry"];

2. 关联数组(Associative Array)

关联数组使用字符串作为键,键值对的形式存储数据。

$array = array("name" => "John", "age" => 30, "city" => "New York");
// 或者
$array = ["name" => "John", "age" => 30, "city" => "New York"];

3. 多维数组(Multidimensional Array)

多维数组是包含一个或多个数组的数组。可以是索引数组、关联数组或两者的混合。

$array = array(
    array("apple", "banana", "cherry"),
    array("name" => "John", "age" => 30)
);
// 或者
$array = [
    ["apple", "banana", "cherry"],
    ["name" => "John", "age" => 30]
];

4. 混合数组(Mixed Array)

PHP数组可以同时包含索引数组和关联数组的元素。

$array = array("apple", "banana", "name" => "John", "age" => 30);
// 或者
$array = ["apple", "banana", "name" => "John", "age" => 30];

5. 空数组(Empty Array)

可以定义一个空数组,稍后再添加元素。

$array = array();
// 或者
$array = [];

6. 使用range()函数创建数组

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

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

7. 使用array_fill()函数创建数组

array_fill()函数可以创建一个填充指定值的数组。

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

8. 使用array_combine()函数创建数组

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

$keys = array("name", "age", "city");
$values = array("John", 30, "New York");
$array = array_combine($keys, $values);

9. 使用explode()函数创建数组

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

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

10. 使用list()函数解构数组

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

$array = ["apple", "banana", "cherry"];
list($fruit1, $fruit2, $fruit3) = $array;

11. 使用compact()函数创建数组

compact()函数可以将变量名作为键,变量值作为值,创建一个关联数组。

$name = "John";
$age = 30;
$city = "New York";
$array = compact("name", "age", "city");

12. 使用array()函数创建数组

array()函数是PHP中最常用的创建数组的方式。

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

13. 使用[]语法创建数组

从PHP 5.4开始,可以使用[]语法来创建数组,这是更简洁的方式。

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

14. 使用array_map()函数创建数组

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

$array = array(1, 2, 3, 4, 5);
$newArray = array_map(function($value) {
    return $value * 2;
}, $array);

15. 使用array_filter()函数创建数组

array_filter()函数可以根据回调函数的返回值过滤数组中的元素。

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

16. 使用array_reduce()函数创建数组

array_reduce()函数可以将数组中的元素通过回调函数迭代缩减为单个值。

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

17. 使用array_slice()函数创建数组

array_slice()函数可以从数组中提取一部分元素,并返回一个新的数组。

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

18. 使用array_splice()函数创建数组

array_splice()函数可以从数组中移除一部分元素,并返回被移除的元素。

$array = array(1, 2, 3, 4, 5);
$removed = array_splice($array, 1, 3);

19. 使用array_merge()函数创建数组

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

$array1 = array(1, 2, 3);
$array2 = array(4, 5, 6);
$newArray = array_merge($array1, $array2);

20. 使用array_replace()函数创建数组

array_replace()函数可以用第二个数组中的元素替换第一个数组中的元素。

$array1 = array("a" => 1, "b" => 2);
$array2 = array("b" => 3, "c" => 4);
$newArray = array_replace($array1, $array2);

21. 使用array_flip()函数创建数组

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

$array = array("name" => "John", "age" => 30);
$newArray = array_flip($array);

22. 使用array_unique()函数创建数组

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

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

23. 使用array_column()函数创建数组

array_column()函数可以从多维数组中提取指定列的值。

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

24. 使用array_keys()函数创建数组

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

$array = array("name" => "John", "age" => 30);
$keys = array_keys($array);

25. 使用array_values()函数创建数组

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

$array = array("name" => "John", "age" => 30);
$values = array_values($array);

26. 使用array_chunk()函数创建数组

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

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

27. 使用array_pad()函数创建数组

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

$array = array(1, 2, 3);
$newArray = array_pad($array, 5, 0);

28. 使用array_fill_keys()函数创建数组

array_fill_keys()函数可以使用指定的键和值创建一个数组。

$keys = array("name", "age", "city");
$array = array_fill_keys($keys, "unknown");

29. 使用array_rand()函数创建数组

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

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

30. 使用array_walk()函数创建数组

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

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

31. 使用array_walk_recursive()函数创建数组

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

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

32. 使用array_diff()函数创建数组

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

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4);
$diff = array_diff($array1, $array2);

33. 使用array_intersect()函数创建数组

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

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4);
$intersect = array_intersect($array1, $array2);

34. 使用array_reverse()函数创建数组

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

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

35. 使用array_sum()函数创建数组

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

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

36. 使用array_product()函数创建数组

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

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

37. 使用array_count_values()函数创建数组

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

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

38. 使用array_change_key_case()函数创建数组

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

$array = array("Name" => "John", "Age" => 30);
$lowercase = array_change_key_case($array, CASE_LOWER);

39. 使用array_merge_recursive()函数创建数组

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

$array1 = array("name" => "John", "age" => 30);
$array2 = array("name" => "Jane", "city" => "New York");
$merged = array_merge_recursive($array1, $array2);

40. 使用array_replace_recursive()函数创建数组

array_replace_recursive()函数可以递归地用一个数组替换另一个数组中的元素。

$array1 = array("name" => "John", "age" => 30);
$array2 = array("name" => "Jane", "city" => "New York");
$replaced = array_replace_recursive($array1, $array2);

41. 使用array_multisort()函数创建数组

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

$array = array(3, 1, 2);
array_multisort($array);

42. 使用array_udiff()函数创建数组

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

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4);
$diff = array_udiff($array1, $array2, function($a, $b) {
    return $a - $b;
});

43. 使用array_uintersect()函数创建数组

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

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4);
$intersect = array_uintersect($array1, $array2, function($a, $b) {
    return $a - $b;
});

44. 使用array_diff_assoc()函数创建数组

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

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

45. 使用array_intersect_assoc()函数创建数组

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

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

46. 使用array_diff_uassoc()函数创建数组

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

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

47. 使用array_intersect_uassoc()函数创建数组

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

$array1 = array("a" => 1, "b" => 2, "c" => 3);
$array2 = array("a" => 1, "b" => 2);
$intersect = array_intersect_uassoc($array1, $array2, function($a, $b) {
    return $a - $b;
});

48. 使用array_udiff_assoc()函数创建数组

array_udiff_assoc()函数可以使用用户自定义的比较函数计算数组的差集,包括键和值的比较。

$array1 = array("a" => 1, "b" => 2, "c" => 3);
$array2 = array("a" => 1, "b" => 4);
$diff = array_udiff_assoc($array1, $array2, function($a, $b) {
    return $a - $b;
});

49. 使用array_uintersect_assoc()函数创建数组

array_uintersect_assoc()函数可以使用用户自定义的比较函数计算数组的交集,包括键和值的比较。

$array1 = array("a" => 1, "b" => 2, "c" => 3);
$array2 = array("a" => 1, "b" => 2);
$intersect = array_uintersect_assoc($array1, $array2, function($a, $b) {
    return $a - $b;
});

50. 使用array_udiff_uassoc()函数创建数组

array_udiff_uassoc()函数可以使用用户自定义的比较函数计算数组的差集,包括键和值的比较。

$array1 = array("a" => 1, "b" => 2, "c" => 3);
$array2 = array("a" => 1, "b" => 4);
$diff = array_udiff_uassoc($array1, $array2, function($a, $b) {
    return $a - $b;
}, function($a, $b) {
    return $a - $b;
});

51. 使用array_uintersect_uassoc()函数创建数组

array_uintersect_uassoc()函数可以使用用户自定义的比较函数计算数组的交集,包括键和值的比较。

$array1 = array("a" => 1, "b" => 2, "c" => 3);
$array2 = array("a" => 1, "b" => 2);
$intersect = array_uintersect_uassoc($array1, $array2, function($a, $b) {
    return $a - $b;
}, function($a, $b) {
    return $a - $b;
});

52. **使用`array_map