PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】

时间:2022-11-08 08:21:36

本文实例分析了PHP数组操作。分享给大家供大家参考,具体如下:

PHP的数组是很重要的一部分。操作示例如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
function br() {
  echo '<br />===============================================<br />';
}
$arr1 = array();
$arr1[] = 'x';
$arr1[] = 'a';
$arr1[] = 'e';
$arr1[] = 'c';
$arr1[] = 'h';
// 添加数组
array_push($arr1, 3, 23, 55);
// 数组长度
echo 'the size of array is :'. count($arr1).'<br />';
// 反转
var_dump(array_reverse($arr1));
// 排序 - 直接作用于数组
sort($arr1);
var_dump($arr1);
// 排序 - 按字符串排序
sort($arr1, SORT_STRING);
var_dump($arr1);
// 范围
$arr2 = range('a','h');
// 连接
$arrTemp1 = implode('-', $arr2);
echo $arrTemp1;
echo '<br />';
// 切割
echo '['.implode('][',array_reverse( explode('-', $arrTemp1) )).']';
// 数组合并,会重排索引
$arr3 = array_merge($arr1, $arr2);
var_dump($arr3);
// 删除数组元素
array_shift($arr3);
array_pop($arr3);
unset($arr3[4]);
array_splice($arr3, 6, 2);
var_dump($arr3);
// 抽取数组,原数组不变
$arr4 = array_slice($arr3, 2,3);
var_dump($arr4);
// 关联数组
$fruits = array('red'=>'apple', 'yellow'=>'banana', 'green'=>'lime');
// 数组键
$colors = array_keys($fruits);
// 数组值
$fla = array_values($fruits);
var_dump($colors);
var_dump($fla);
// 查找
echo in_array('green', $colors);
echo '<br />';
echo in_array('black', $colors)? 'in':'not in';
echo '<br />';
echo array_key_exists('yellow', $fruits);
echo '<br />';
// 按键排序
ksort($fruits);
var_dump($fruits);
// 按值排序
asort($fruits);
var_dump($fruits);
// 循环
foreach ($fruits as $key => $value) {
  echo $key. ' => '.$value.'<br />';
}
echo '<br />';
$f = $fruits;
while($elem = each($f)) {
  echo $elem['key']. ' -- '. $elem['value'].'<br />';
}
echo '<br />';
$arr5 = array(2, 8, 100, 33, -18);
// 查找最大最小值
echo max($arr5);
echo '<br />';
echo min($arr5);
echo '<br />';
echo array_sum( $arr5 );
echo '<br />';
function double($x) {
  echo ($x * 2).' ';
}
// 数组元素应用函数
array_walk($arr5, 'double');
function check($x) {
  return $x > 20;
}
// 筛选
var_dump(array_filter($arr5, 'check'));
$arr6 = range(1,10);
echo 'random number: '.array_rand($arr6);
//统计
//count(); sizeof(); array_count_values();
$arr7 = array(4,5,1,2,3,1,2,1);
$ac = array_count_values($arr7);
// 统计每个value出现的次数
var_dump($ac);
$arr8 = array('key1'=>'v1', 'key2'=>'v2', 'key3'=>'v3');
extract($arr8);
echo "$key1 $key2 $key3";
//填补
$input = array(12,10,9);
var_dump(array_pad($input, 5, 0));
var_dump(array_pad($input, -5, 0));
?>

希望本文所述对大家PHP程序设计有所帮助。