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();