插件窝 干货文章 php 验证数组不能为空

php 验证数组不能为空

array 函数 数组 使用 816    来源:    2025-03-19

在 PHP 中,验证数组是否为空可以通过多种方式实现。以下是几种常见的方法:

1. 使用 empty() 函数

empty() 函数用于检查变量是否为空。如果数组为空,empty() 会返回 true

if (empty($array)) {
    echo "数组为空";
} else {
    echo "数组不为空";
}

2. 使用 count() 函数

count() 函数用于计算数组中的元素数量。如果数组为空,count() 会返回 0

if (count($array) === 0) {
    echo "数组为空";
} else {
    echo "数组不为空";
}

3. 使用 sizeof() 函数

sizeof()count() 的别名,功能相同。

if (sizeof($array) === 0) {
    echo "数组为空";
} else {
    echo "数组不为空";
}

4. 使用 array_filter() 函数

array_filter() 函数可以过滤数组中的空值。如果过滤后的数组为空,则原数组为空或只包含空值。

if (empty(array_filter($array))) {
    echo "数组为空或只包含空值";
} else {
    echo "数组不为空";
}

5. 使用 ! 运算符

直接使用 ! 运算符检查数组是否为 null 或空数组。

if (!$array) {
    echo "数组为空";
} else {
    echo "数组不为空";
}

6. 使用 is_array() 函数

在验证数组是否为空之前,可以先使用 is_array() 函数确保变量是一个数组。

if (is_array($array) && empty($array)) {
    echo "数组为空";
} else {
    echo "数组不为空";
}

7. 使用 array_key_exists()isset()

如果你需要检查数组中是否存在某个特定的键,可以使用 array_key_exists()isset()

if (array_key_exists('key', $array)) {
    echo "数组中存在 'key'";
} else {
    echo "数组中不存在 'key'";
}

8. 使用 array_diff() 函数

如果你想比较两个数组是否相同,可以使用 array_diff() 函数。

if (empty(array_diff($array1, $array2))) {
    echo "两个数组相同";
} else {
    echo "两个数组不同";
}

9. 使用 array_intersect() 函数

如果你想检查两个数组是否有交集,可以使用 array_intersect() 函数。

if (empty(array_intersect($array1, $array2))) {
    echo "两个数组没有交集";
} else {
    echo "两个数组有交集";
}

10. 使用 array_unique() 函数

如果你想检查数组中是否有重复的值,可以使用 array_unique() 函数。

if (count($array) !== count(array_unique($array))) {
    echo "数组中有重复的值";
} else {
    echo "数组中没有重复的值";
}

11. 使用 array_map() 函数

如果你想对数组中的每个元素应用一个函数,可以使用 array_map() 函数。

$array = array_map('trim', $array);

12. 使用 array_walk() 函数

如果你想对数组中的每个元素应用一个函数,并且可以传递额外的参数,可以使用 array_walk() 函数。

array_walk($array, function(&$value, $key) {
    $value = strtoupper($value);
});

13. 使用 array_reduce() 函数

如果你想将数组中的元素通过回调函数迭代计算为一个单一的值,可以使用 array_reduce() 函数。

$sum = array_reduce($array, function($carry, $item) {
    return $carry + $item;
}, 0);

14. 使用 array_column() 函数

如果你想从多维数组中提取某一列的值,可以使用 array_column() 函数。

$names = array_column($users, 'name');

15. 使用 array_chunk() 函数

如果你想将数组分割成多个小块,可以使用 array_chunk() 函数。

$chunks = array_chunk($array, 2);

16. 使用 array_combine() 函数

如果你想将两个数组合并为一个关联数组,可以使用 array_combine() 函数。

$combined = array_combine($keys, $values);

17. 使用 array_fill() 函数

如果你想创建一个填充了指定值的数组,可以使用 array_fill() 函数。

$filled = array_fill(0, 5, 'value');

18. 使用 array_flip() 函数

如果你想交换数组中的键和值,可以使用 array_flip() 函数。

$flipped = array_flip($array);

19. 使用 array_keys() 函数

如果你想获取数组中的所有键,可以使用 array_keys() 函数。

$keys = array_keys($array);

20. 使用 array_values() 函数

如果你想获取数组中的所有值,可以使用 array_values() 函数。

$values = array_values($array);

21. 使用 array_merge() 函数

如果你想合并多个数组,可以使用 array_merge() 函数。

$merged = array_merge($array1, $array2);

22. 使用 array_pad() 函数

如果你想将数组填充到指定的长度,可以使用 array_pad() 函数。

$padded = array_pad($array, 5, 'value');

23. 使用 array_pop() 函数

如果你想删除数组中的最后一个元素,可以使用 array_pop() 函数。

$last = array_pop($array);

24. 使用 array_push() 函数

如果你想向数组末尾添加一个或多个元素,可以使用 array_push() 函数。

array_push($array, 'value1', 'value2');

25. 使用 array_shift() 函数

如果你想删除数组中的第一个元素,可以使用 array_shift() 函数。

$first = array_shift($array);

26. 使用 array_unshift() 函数

如果你想向数组开头添加一个或多个元素,可以使用 array_unshift() 函数。

array_unshift($array, 'value1', 'value2');

27. 使用 array_rand() 函数

如果你想从数组中随机取出一个或多个键,可以使用 array_rand() 函数。

$randomKey = array_rand($array);

28. 使用 array_replace() 函数

如果你想用一个数组替换另一个数组中的元素,可以使用 array_replace() 函数。

$replaced = array_replace($array1, $array2);

29. 使用 array_reverse() 函数

如果你想反转数组中的元素顺序,可以使用 array_reverse() 函数。

$reversed = array_reverse($array);

30. 使用 array_search() 函数

如果你想在数组中搜索给定的值并返回对应的键,可以使用 array_search() 函数。

$key = array_search('value', $array);

31. 使用 array_slice() 函数

如果你想从数组中取出一段元素,可以使用 array_slice() 函数。

$slice = array_slice($array, 1, 2);

32. 使用 array_splice() 函数

如果你想从数组中移除一段元素并用其他元素替换,可以使用 array_splice() 函数。

$removed = array_splice($array, 1, 2, ['new1', 'new2']);

33. 使用 array_sum() 函数

如果你想计算数组中所有值的和,可以使用 array_sum() 函数。

$sum = array_sum($array);

34. 使用 array_product() 函数

如果你想计算数组中所有值的乘积,可以使用 array_product() 函数。

$product = array_product($array);

35. 使用 array_udiff() 函数

如果你想比较两个数组的差集并使用回调函数进行比较,可以使用 array_udiff() 函数。

$diff = array_udiff($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

36. 使用 array_uintersect() 函数

如果你想比较两个数组的交集并使用回调函数进行比较,可以使用 array_uintersect() 函数。

$intersect = array_uintersect($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

37. 使用 array_walk_recursive() 函数

如果你想递归地对数组中的每个元素应用一个函数,可以使用 array_walk_recursive() 函数。

array_walk_recursive($array, function(&$value, $key) {
    $value = strtoupper($value);
});

38. 使用 arsort() 函数

如果你想对数组进行降序排序并保持索引关联,可以使用 arsort() 函数。

arsort($array);

39. 使用 asort() 函数

如果你想对数组进行升序排序并保持索引关联,可以使用 asort() 函数。

asort($array);

40. 使用 compact() 函数

如果你想创建一个包含变量名和它们的值的数组,可以使用 compact() 函数。

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

41. 使用 extract() 函数

如果你想将数组中的键值对导入到当前符号表中,可以使用 extract() 函数。

extract($array);

42. 使用 in_array() 函数

如果你想检查数组中是否存在某个值,可以使用 in_array() 函数。

if (in_array('value', $array)) {
    echo "数组中存在 'value'";
} else {
    echo "数组中不存在 'value'";
}

43. 使用 key() 函数

如果你想获取数组中的当前键,可以使用 key() 函数。

$key = key($array);

44. 使用 krsort() 函数

如果你想对数组按照键名进行降序排序,可以使用 krsort() 函数。

krsort($array);

45. 使用 ksort() 函数

如果你想对数组按照键名进行升序排序,可以使用 ksort() 函数。

ksort($array);

46. 使用 list() 函数

如果你想将数组中的值赋给一组变量,可以使用 list() 函数。

list($a, $b, $c) = $array;

47. 使用 natcasesort() 函数

如果你想对数组进行不区分大小写的自然排序,可以使用 natcasesort() 函数。

natcasesort($array);

48. 使用 natsort() 函数

如果你想对数组进行自然排序,可以使用 natsort() 函数。

natsort($array);

49. 使用 next() 函数

如果你想将数组的内部指针向前移动一位,可以使用 next() 函数。

$next = next($array);

50. 使用 pos() 函数

pos()current() 的别名,用于获取数组中的当前元素。

$current = pos($array);

51. 使用 prev() 函数

如果你想将数组的内部指针向后移动一位,可以使用 prev() 函数。

$prev = prev($array);

52. 使用 range() 函数

如果你想创建一个包含指定范围元素的数组,可以使用 range() 函数。

$array = range(1, 10);

53. 使用 reset() 函数

如果你想将数组的内部指针重置到第一个元素,可以使用 reset() 函数。

$first = reset($array);

54. 使用 rsort() 函数

如果你想对数组进行降序排序,可以使用 rsort() 函数。

rsort($array);

55. 使用 shuffle() 函数

如果你想将数组中的元素随机排序,可以使用 shuffle() 函数。

shuffle($array);

56. 使用 sizeof() 函数

sizeof()count() 的别名,用于计算数组中的元素数量。

$count = sizeof($array);

57. 使用 sort() 函数

如果你想对数组进行升序排序,可以使用 sort() 函数。

sort($array);

58. 使用 uasort() 函数

如果你想使用用户定义的比较函数对数组进行排序并保持索引关联,可以使用 uasort() 函数。

uasort($array, function($a, $b) {
    return $a <=> $b;
});

59. 使用 uksort() 函数

如果你想使用用户定义的比较函数对数组的键进行排序,可以使用 uksort() 函数。

uksort($array, function($a, $b) {
    return $a <=> $b;
});

60. 使用 usort() 函数

如果你想使用用户定义的比较函数对数组进行排序,可以使用 usort() 函数。

usort($array, function($a, $b) {
    return $a <=> $b;
});

61. 使用 array_multisort() 函数

如果你想对多个数组或多维数组进行排序,可以使用 array_multisort() 函数。

array_multisort($array1, $array2);

62. 使用 array_udiff_assoc() 函数

如果你想比较两个数组的差集(包括键名和键值)并使用回调函数进行比较,可以使用 array_udiff_assoc() 函数。

$diff = array_udiff_assoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

63. 使用 array_udiff_uassoc() 函数

如果你想比较两个数组的差集(包括键名和键值)并使用两个回调函数进行比较,可以使用 array_udiff_uassoc() 函数。

$diff = array_udiff_uassoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
}, function($a, $b) {
    return $a <=> $b;
});

64. 使用 array_uintersect_assoc() 函数

如果你想比较两个数组的交集(包括键名和键值)并使用回调函数进行比较,可以使用 array_uintersect_assoc() 函数。

$intersect = array_uintersect_assoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

65. 使用 array_uintersect_uassoc() 函数

如果你想比较两个数组的交集(包括键名和键值)并使用两个回调函数进行比较,可以使用 array_uintersect_uassoc() 函数。

$intersect = array_uintersect_uassoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
}, function($a, $b) {
    return $a <=> $b;
});

66. 使用 array_fill_keys() 函数

如果你想创建一个使用指定键和值填充的数组,可以使用 array_fill_keys() 函数。

$filled = array_fill_keys(['key1', 'key2'], 'value');

67. 使用 array_key_first() 函数

如果你想获取数组中的第一个键,可以使用 array_key_first() 函数。

$firstKey = array_key_first($array);

68. 使用 array_key_last() 函数

如果你想获取数组中的最后一个键,可以使用 array_key_last() 函数。

$lastKey = array_key_last($array);

69. 使用 array_replace_recursive() 函数

如果你想递归地用一个数组替换另一个数组中的元素,可以使用 array_replace_recursive() 函数。

$replaced = array_replace_recursive($array1, $array2);

70. 使用 array_is_list() 函数

如果你想检查数组是否是一个列表(即键是从 0 开始的连续整数),可以使用 array_is_list() 函数。

if (array_is_list($array)) {
    echo "数组是一个列表";
} else {
    echo "数组不是一个列表";
}

71. 使用 array_diff_assoc() 函数

如果你想比较两个数组的差集(包括键名和键值),可以使用 array_diff_assoc() 函数。

$diff = array_diff_assoc($array1, $array2);

72. 使用 array_diff_key() 函数

如果你想比较两个数组的差集(只比较键名),可以使用 array_diff_key() 函数。

$diff = array_diff_key($array1, $array2);

73. 使用 array_diff_uassoc() 函数

如果你想比较两个数组的差集(包括键名和键值)并使用回调函数进行比较,可以使用 array_diff_uassoc() 函数。

$diff = array_diff_uassoc($array1, $array2, function($a, $b) {
    return $a <=> $b;
});

74. 使用 array_diff_ukey() 函数

如果你想比较两个数组的差集(只比较键名)并使用回调函数进行比较,可以使用 array_diff_ukey() 函数。

```php $diff = array_diff_ukey($array1, $array