第五章 php数组操作


Posted in PHP onDecember 30, 2011

一.什么是数组
数组是一组有某种共同特性的元素,包括相似性和类型。
每个元素由一个特殊的标识符来区分,称之为key,而每个key都有一个value
1.创建数组的两种方式:
1.1 用array()函数

<?php 
$usernames = array ('Alerk', 'Mary', 'Lucy', 'Bob', 'Jack', 'John', 'Mark' ); 
foreach ( $usernames as $name ) 
{ 
echo $name . '<br/>'; 
} 
?>

output
Alerk
Mary
Lucy
Bob
Jack
John
Mark
1.2 用range()函数
<?php 
$numbers = range ( 0, 10 ); 
foreach ( $numbers as $num ) 
{ 
echo $num . '<br/>'; 
} 
$letters = range ( 'a', 'z' ); 
foreach ( $letters as $letter ) 
{ 
echo $letter . '<br/>'; 
} 
?>

output
0
1
2
3
4
5
6
7
8
9
10
a

c
d
e
f
g
h
i
j
k
l
m

o

q
r

t
u
v
w
x
y
z
2.循环访问数组元素的两种方式:
2.1 for循环

<?php 
//range的第三个参数表示步长 
$numbers = range(1,10,2); 
for($i = 0;$i<count($numbers); $i ++) 
{ 
echo $numbers[$i].'<br/>'; 
} 
?>

output
1
3
5
7
9
2.2 foreach循环
<?php 
$letters = range('a','h',2); 
foreach($letters as $letter) 
{ 
echo $letter.'<br/>'; 
} 
?>

output
a
c
e
g
Foreach还可以用来输出数组的下标和对应的值
<?php 
$letters = range('a','g',2); 
foreach($letters as $key => $value) 
{ 
echo $key.'---'.$value.'<br/>'; 
} 
?>

output
0---a
1---c
2---e
3---g
3.is_array()函数,用于变量判断是否为一个数组
<?php 
$numbers = range(1,10,2); 
if(is_array($numbers)) 
{ 
foreach($numbers as $num) 
{ 
echo $num.'<br/>'; 
} 
} 
else 
{ 
echo $numbers; 
} 
?>

4.print_r函数,打印关于变量的易于理解的信息
<?php 
$usernames = array ('Jackie', 'Mary', 'Lucy', 'Bob', 'Mark', 'John' ); 
print_r ( $usernames ); 
?>

output
Array ( [0] => Jackie [1] => Mary [2] => Lucy [3] => Bob [4] => Mark [5] => John )
源代码里可以看到显示为:
Array
(
[0] => Jackie
[1] => Mary
[2] => Lucy
[3] => Bob
[4] => Mark
[5] => John
)
二.自定义键数组
1.如果不想创建默认下标为零的数组,可以用如下方法,创建键为字符串的数组
<?php 
//初始化数组 
$userages = array('Jack'=> 23,'Lucy'=>25,'Mark'=>28); 
//访问数组各元素 
echo $userages['Jack'].'<br/>'; 
echo $userages['Lucy'].'<br/>'; 
echo $userages['Mark'].'<br/>'; 
?>

2.往自定义键数组里追加元素
<?php 
//初始化数组 
$ages = array('Jack'=>23); 
//追加元素 
$ages['Lucy']=25; 
$ages['Mark']=28; 
foreach($ages as $key => $value) 
{ 
echo $key.'----'.$value.'<br/>'; 
} 
?>

3.直接添加元素,无需创建数组。
<?php 
//不创建数组直接添加 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
foreach($ages as $key => $value) 
{ 
echo $key.'----'.$value.'<br/>'; 
} 
?>

4.循环打印数组foreach的使用
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
foreach($ages as $key => $value) 
{ 
echo $key.'=>'.$value.'<br/>'; 
} 
?>

5. each() -- 返回数组中当前的键/值对并将数组指针向前移动一步
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
$a = each($ages); 
print_r($a); 
echo '<br/>'; 
$a = each($ages); 
print_r($a); 
echo '<br/>'; 
$a = each($ages); 
print_r($a); 
?>

用each()函数做循环打印
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
while(!! $element = each($ages)) 
{ 
print_r($element); 
echo '<br>'; 
} 
?>

另一种打印方式
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
while(!! $element = each($ages)) 
{ 
echo $element['key'].'=>'.$element['value']; 
echo '<br>'; 
} 
?>

6.list()函数的使用--把数组中的值赋给一些变量
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
list($name,$age)= each($ages); 
echo $name.'=>'.$age; 
?>

用list循环打印结果
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
while(!!list($name,$age)= each($ages)) 
{ 
echo $name.'=>'.$age.'<br>'; 
} 
?>

output
Jack=>23
Lucy=>25
Mark=>28
7.reset()函数的使用--将数组的内部指针指向第一个单元
<?php 
$ages['Jack']=23; 
$ages['Lucy']=25; 
$ages['Mark']=28; 
each($ages); 
each($ages); 
list($name,$age)= each($ages); 
echo $name.'=>'.$age.'<br>'; 
//把数组重新设定到数组开始处 
reset($ages); 
list($name,$age)= each($ages); 
echo $name.'=>'.$age.'<br>'; 
?>

Output
Mark=>28
Jack=>23
8. array_unique() -- 移除数组中重复的值
<?php 
$nums = array(1,2,3,4,5,6,5,4,3,2,1,1,2,3,4,5,6); 
//返回一个不包含重复值的数组 
$result = array_unique($nums); 
print_r($result); 
?> 
Output 
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) 
9. array_flip ()-- 交换数组中的键和值 
<?php 
$userages = array('Jack'=> 23,'Lucy'=>25,'Mark'=>28); 
$ages = array_flip($userages); 
print_r($ages); 
?>

output
Array ( [23] => Jack [25] => Lucy [28] => Mark )
三.数组里的数组
数组里不一定就是一个关键字和值的列表,数组里也可以放入数组
<?php 
$produces = array( 
array('apple',6,28.8), 
array('pear',3,15.6), 
array('banana',10,4.6) 
); 
echo $produces[0][0].'|'.$produces[0][1].'|'.$produces[0][2].'<br>'; 
echo $produces[1][0].'|'.$produces[1][1].'|'.$produces[1][2].'<br>'; 
echo $produces[2][0].'|'.$produces[2][1].'|'.$produces[2][2].'<br>'; 
?>

output
apple|6|28.8
pear|3|15.6
banana|10|4.6
用for循环打印数组中的数组
<?php 
$produces = array ( 
array ('apple', 6, 28.8 ), 
array ('pear', 3, 15.6 ), 
array ('banana', 10, 4.6 ) 
); 
for($i = 0; $i < count ( $produces ); $i ++) 
{ 
for($j = 0; $j < count ( $produces [$i] ); $j ++) 
{ 
echo '|' . $produces[$i][$j]; 
} 
echo '<br>'; 
} 
?>

output
|apple|6|28.8
|pear|3|15.6
|banana|10|4.6
二维数组
<?php 
$produces = array ( 
array ('name' => 'apple', 'amount' => 6, 'price' => 28.8 ), 
array ('name' => 'pear', 'amount' => 3, 'price' => 15.6 ), 
array ('name' => 'banana', 'amount' => 10, 'price' => 4.6 ) 
); 
while(!!List($key,$value)=each($produces)) 
{ 
while(!!list($key2,$value2)=each($value)) 
{ 
echo '|'.$key2.'=>'.$value2; 
} 
echo '<br>'; 
} 
?>

output
|name=>apple|amount=>6|price=>28.8
|name=>pear|amount=>3|price=>15.6
|name=>banana|amount=>10|price=>4.6
用foreach来打印则更容易(推荐)
<?php 
$produces = array ( 
array ('name' => 'apple', 'amount' => 6, 'price' => 28.8 ), 
array ('name' => 'pear', 'amount' => 3, 'price' => 15.6 ), 
array ('name' => 'banana', 'amount' => 10, 'price' => 4.6 ) 
); 
foreach($produces as $key1 => $value1) 
{ 
foreach($value1 as $key2 => $value2) 
{ 
echo '|'.$key2.'=>'.$value2; 
} 
echo '<br>'; 
} 
?>

output
|name=>apple|amount=>6|price=>28.8
|name=>pear|amount=>3|price=>15.6
|name=>banana|amount=>10|price=>4.6
四.数组的排序
1.Sort()函数对英文的排序
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('lemo','banana','apple','pear'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
sort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [0] => lemo [1] => banana [2] => apple [3] => pear )
排序后的数组:Array ( [0] => apple [1] => banana [2] => lemo [3] => pear )
2.Sort()函数对中文的排序
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('柠檬','香蕉','苹果','梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
sort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

Output:
原始的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 )
排序后的数组:Array ( [0] => 柠檬 [1] => 梨子 [2] => 苹果 [3] => 香蕉 )
3. asort -- 对数组进行排序并保持索引关系
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
asort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
排序后的数组:Array ( [a] => 柠檬 [d] => 梨子 [c] => 苹果 [b] => 香蕉 )
4. ksort -- 对数组按照键名排序
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('b'=>'柠檬','a'=>'香蕉','d'=>'苹果','c'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
ksort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [b] => 柠檬 [a] => 香蕉 [d] => 苹果 [c] => 梨子 )
排序后的数组:Array ( [a] => 香蕉 [b] => 柠檬 [c] => 梨子 [d] => 苹果 )
5. rsort -- 对数组逆向排序
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('柠檬','香蕉','苹果','梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
rsort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 )
排序后的数组:Array ( [0] => 香蕉 [1] => 苹果 [2] => 梨子 [3] => 柠檬 )
6. arsort -- 对数组进行逆向排序并保持索引关系
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
arsort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
排序后的数组:Array ( [b] => 香蕉 [c] => 苹果 [d] => 梨子 [a] => 柠檬 )
7. krsort -- 对数组按照键名逆向排序
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
krsort($fruits); 
echo '排序后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
排序后的数组:Array ( [d] => 梨子 [c] => 苹果 [b] => 香蕉 [a] => 柠檬 )
8. shuffle -- 将数组打乱
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
shuffle($fruits); 
echo '打乱后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
打乱后的数组:Array ( [0] => 香蕉 [1] => 苹果 [2] => 柠檬 [3] => 梨子 )
9. array_reverse -- 返回一个单元顺序相反的数组
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
$fruits = array_reverse($fruits); 
echo '反转后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
反转后的数组:Array ( [d] => 梨子 [c] => 苹果 [b] => 香蕉 [a] => 柠檬 )
10. array_unshift -- 在数组开头插入一个或多个单元
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
array_unshift($fruits,'?{子'); 
echo '插入后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
插入后的数组:Array ( [0] => ?{子 [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
11. array_shift -- 将数组开头的单元移出数组
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array('a'=>'柠檬','b'=>'香蕉','c'=>'苹果','d'=>'梨子'); 
echo '原始的数组:'; 
print_r($fruits); 
echo '<br/>'; 
array_shift($fruits); 
echo '移出后的数组:'; 
print_r($fruits); 
?>

output
原始的数组:Array ( [a] => 柠檬 [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
移出后的数组:Array ( [b] => 香蕉 [c] => 苹果 [d] => 梨子 )
12. array_rand -- 从数组中随机取出一个或多个单元
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array ('柠檬', '香蕉', '苹果', '梨子' ); 
echo '原始的数组:'; 
print_r ( $fruits ); 
echo '<br/>'; 
$newArr_key = array_rand ( $fruits, 2 ); 
echo '随机后的数组:'; 
echo $fruits [$newArr_key [0]].' '; 
echo $fruits [$newArr_key [1]]; 
?>

output
原始的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 )
随机后的数组:梨子 苹果
13. array_pop -- 将数组最后一个单元弹出(出栈)
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array ('柠檬', '香蕉', '苹果', '梨子' ); 
echo '原始的数组:'; 
print_r ( $fruits ); 
echo '<br/>'; 
array_pop ( $fruits ); 
echo '弹出后的数组:'; 
print_r ( $fruits ); 
?>

Output:
原始的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 )
弹出后的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 )
14. array_push -- 将一个或多个单元压入数组的末尾(入栈)
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<?php 
$fruits = array ('柠檬', '香蕉', '苹果', '梨子' ); 
echo '原始的数组:'; 
print_r ( $fruits ); 
echo '<br/>'; 
array_push ( $fruits,'?{子'); 
echo '弹出后的数组:'; 
print_r ( $fruits ); 
?>

Output:
原始的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 )
弹出后的数组:Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 [4] => ?{子 )
五.数组的指针的操作
each -- 返回数组中当前的键/值对并将数组指针向前移动一步
current -- 返回数组中的当前单元
reset -- 将数组的内部指针指向第一个单元
end -- 将数组的内部指针指向最后一个单元
next -- 将数组中的内部指针向前移动一位
pos -- current() 的别名
prev -- 将数组的内部指针倒回一位
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<?php 
$fruits = array ('柠檬', '香蕉', '苹果', '梨子' ); 
print_r ( $fruits ); 
echo '<br/>'; 
echo 'each() : '; 
print_r ( each ( $fruits ) ); 
echo '<br/>'; 
echo 'current() : '; 
echo (current ( $fruits )); 
echo '<br/>'; 
echo 'next() : '; 
echo (next ( $fruits )); 
echo '<br/>'; 
echo 'end() : '; 
echo (end ( $fruits )); 
echo '<br/>'; 
echo 'prev() : '; 
echo (prev ( $fruits )); 
echo '<br/>'; 
echo 'pos() : '; 
echo (pos ( $fruits )); 
echo '<br/>'; 
?>

Output:
Array ( [0] => 柠檬 [1] => 香蕉 [2] => 苹果 [3] => 梨子 )
each() : Array ( [1] => 柠檬 [value] => 柠檬 [0] => 0 [key] => 0 )
current() : 香蕉
next() : 苹果
end() : 梨子
prev() : 苹果
pos() : 苹果
六.统计数组个数
count -- 计算数组中的单元数目或对象中的属性个数
sizeof -- count() 的别名
array_count_values -- 统计数组中所有的值出现的次数
<?php 
$nums = array (1, 3, 5, 1, 3, 4, 5, 65, 4, 2, 2, 1, 4, 4, 1, 1, 4, 1, 5, 4, 5, 4 ); 
echo count ( $nums ); 
echo '<br>'; 
echo sizeof ( $nums ); 
echo '<br>'; 
$arrayCount = array_count_values ( $nums ); 
print_r ( $arrayCount ); 
?>

output
22
22
Array ( [1] => 6 [3] => 2 [5] => 4 [4] => 7 [65] => 1 [2] => 2 )
七.将数组转换成标量变量:extract()
把数组中的每个元素转换成变量,变量名是数组元素的key,变量值为数组元素的value.
<?php 
$fruits = array('a'=>'apple','b'=>'banana','o'=>'orange'); 
extract($fruits); 
echo $a.'<br>'; 
echo $b.'<br>'; 
echo $o.'<br>'; 
?>

output
apple
banana
orange
PHP 相关文章推荐
在任意字符集下正常显示网页的方法一
Apr 01 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP面向对象程序设计重载(overloading)操作详解
Jun 13 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
PHP后门隐藏的一些技巧总结
Nov 04 PHP
第四章 php数学运算
Dec 30 #PHP
第三章 php操作符与控制结构代码
Dec 30 #PHP
第二章 PHP入门基础之php代码写法
Dec 30 #PHP
php 短链接算法收集与分析
Dec 30 #PHP
php的大小写敏感问题整理
Dec 29 #PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 #PHP
php站内搜索并高亮显示关键字的实现代码
Dec 29 #PHP
You might like
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
PHP clearstatcache()函数详解
2010/03/02 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python守护进程用法实例分析
2015/06/04 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
解读Python编程中的命名空间与作用域
2015/10/16 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
Python实现注册、登录小程序功能
2018/09/21 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
应届生高等护理求职信
2013/10/12 职场文书
升旗仪式主持词
2014/03/19 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
银行奉献演讲稿
2014/09/16 职场文书
观后感的写法
2015/06/19 职场文书