PHP数组

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(数组)

posted @ 2014-02-25 00:13  buk liu  阅读(165)  评论(0编辑  收藏  举报