1.索引数组(数字为下表的数组)
$user[0] = "1";
$user[1] = "zhangsan";
$user[2] = "18";
$user[3] = "男";
$user = array("1", "zhangsan", "18", "男");
echo '<br>';
print_r($user);
echo '<br>';
2.关联数组(字符串为下标的数组)
1 $user["id"] = "1";
2 $user["name"] = "zhangsan";
3 $user["age"] = "18";
4 $user["sex"] = "man";
5
6 $user2 = array("id"=>"1", "name"=>"zhangsan", "age"=>"18", "sex"=>"man");
7
8 echo '<br>';
9 print_r($user);
10 echo '<br>';
11 print_r($user2);
12 echo '<br>';
3.多维数组
1 $user = array(
2 array("1", "zhangsan", "18", "male"),
3 array("2", "lisi", "20", "femalel"),
4 array("3", "wanger", "2", "male")
5 );
6
7 echo '<pre>';
8 print_r($user);
9 echo '</pre>'
4.数组的遍历
4.1使用for语句遍历数组(for语句只能遍历连续的数组)
1 $user = array("1", "zhangsan", "18", "male");
2
3 for ($i=0; $i<count($user); $i++){
4 echo "user[{$i}]=".$user[$i]."<br>";
4.2使用foreach语句遍历数组
a.循环的次数由数组元素的个数决定
b.每一次循环都会将数组中的元素赋值给后面的变量
1 $user=array("id"=>1, "name"=>"zhangsan", "age"=>40, "sex"=>"nan", "email"=>"aaa@bb.com");
2
3 foreach($user as $key=>$val){
4 echo $key."------>".$val."<br>";
4.3each()函数
a.需要一个数组作为参数
b.返回来的也是一个数组
c.返回来的数组下标是固定的0,1,key,value
0和key代表当前参数的键
1和value代表当前参数的值
d.默认当前元素为第一个元素
e.执行一次后就会将当前元素向后移动
f.如果到最后的元素在执行这个函数,则返回false
$user=array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
$a=each($user);
print_r($a);
echo '<br/>';
$a=each($user);
print_r($a);
echo '<br/>';
$a=each($user);
print_r($a);
echo '<br/>';
$a=each($user);
print_r($a);
echo '<br/>';
$a=each($user);
var_dump($a);
如此我们可以用while循环来遍历数组
$user=array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
while($a=each($user)){
echo $a[key].'----->'.$a[value].'<br/>';
echo $a[0].'=====>'.$a[1].'<br/>';
}
4.4list()函数
a.list()=array();需要将一个数组赋值给这个函数
b.数组中的元素个数要和list()函数中的参数个数相同
c.数组中的每个元素值会赋值list()函数中的每个参数,list()将每个参数转为变量
$user=array(1, "zhangsan", 10, "nan");
list($id,$name,$age,$sex)=$user;
echo 'id--->'.$id.'<br/>';
echo 'name--->'.$name.'<br/>';
echo 'age--->'.$age.'<br/>';
echo 'sex--->'.$sex.'<br/>';
我们可以用list()函数来分割字符串
1 $ip="192.168.52.10";
2
3 list($a,$b,$c,$d)=explode(".",$ip);
4
5 echo $a.'<br/>';
6 echo $b.'<br/>';
7 echo $c.'<br/>';
8 echo $d.'<br/>';
9
10 //结果为
11 192
12 168
13 52
14 10
each()函数和list()函数合用
1 $user=array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
2
3 while(list($key,$value)=each($user)){
4 echo 'key='.$key."### value=".$value.'<br/>';
5 }
6
7 //结果为
8 key=id### value=1
9 key=name### value=zhangsan
10 key=age### value=10
11 key=sex### value=nan
4.5使用数组内部指针控制数组
next(数组)
prev(数组)
reset(数组)
end(数组)