1、创建数组-不需要指定其大小
非正式方法:
$state[0]="Delaware" $state[1]="Pennsylvaia" //...... $state[49]="Hawaii" //如果索引值是数值索引且递增的,还可以省略索引值 $state[]="Delaware" $state[]="Pennsylvaia" //...... $state[]="Hawaii" //创建关联数组 $state["Delaware"]="December 7,1787" $state["Hawaii"]="Augus 21,1959"
正式方法:使用array()
$languages=array("English","Gaelic","Spanish");//$languages[0]="English",$languages[1]="Galic",$languages[2]="Spanish"
$languages =array("Spain"=>"Spanish","Ireland"=>"Gaelic","United"=>"English");
2、使用list()提取数组
//user.txt :Nino Sanzi | professional golfer | green $user = fopen("users.txt","r"); while ($line = fgets($users,4096)) { list($name,$occupation,$color) = explode("|",$line); }
3、输出数组
$even = range(0,20,2); foreach ($even as e) { echo "{$e}<br/>" }
如果想输出多维数组,或者对输出 有严格的格式标准,可以考虑使用vprint()函数
4、添加删除数组
array_unshitf()//在数组头添加元素 array_push()//在数组尾添加元素 array_shift()//在数组头删除元素 array_pop()//在数组尾删除元素
5、定位数组元素
in_array()//搜索特定值,找到返回返回TRUE array_key_exists//搜索关联数组键,找到返回TRUE array_search//搜索关联数组值,找到返回相应的键,否则返回FALSE array_keys()//获取关联数组的键,返回一个数组 array_values()//获取关联数组的值,返回一个数组
6、遍历数组
获取当前数组键和值
$capitals= array("Ohio"=>"Columbus","Iowa"=>"Des Moines"); while ($key = key($capitals)){ //key() printf("%s<br/>",$key); next($capitals); } reset($capitals); while ($val = current($capitals)){ //current() printf("%s<br/>",$val); next($capitals); }
each()//同时返回键和值
移动数组指针
next(); prev(); reset();//指针移到第一个数组位置 end();