5-1. PHP数组创建、数组遍历

数组分类

1)索引数组:索引值为整数的数组

2)关联数组:索引值为字符串的数组(PHP语言特有)

 

比如:

0                  name           "李广"

1                  grade           90分

2                  sex               男

3                  height           173cm

索引数组     关联数组 

 

数组创建

1)PHP语言中不需要创建数组时指定数组大小

2)不需要在使用数组前声明

3)一个数组中可以存储任何类型的数据

 

索引数组创建

方法1:直接为数组元素赋值即可创建

$变量名[索引值]=数据内容;

索引值可以是整数也可以是字符串,也可以不写,默认为索引数组 

 

方法2:使用array( )语言结构创建数组

$变量名=array(

        key1=>value1,

        .......

) ;

/* 索引数组 method 1. */
$student[0]=10;
$student[1]='Robin';
$student[2]=true;
$student[3]=99;
var_dump($student); 
print_r($student); //echo()函数无法输出数组,需要使用print_r()函数

/* 索引数组 method 2. */
$student2=array(10,'robin',true,99);
var_dump($student2);  

/* method 2. 手动指定写法 */
$student3=array(
    0=>10,
    1=>'Robin',
    2=>true,
    3=>99
);   // ; must be added
var_dump($student3);

 

关联数组创建

/* 关联数组 method 1. */
$student4['id']=10;
$student4['name']='Robin';
$student4['sex']=true;
$student4['grade']=99;
var_dump($student4);
echo $student4['id']; // 输出数组中单个元素的方法

/* php中输出关联数组的所有元素时需要用freach进行数组遍历,不然输不出来  */

/* 关联数组 method 2. */
$student5=array(
    'id'=>10,
    'name'=>'Robin',
    'sex'=>true,
    'grade'=>88
);
var_dump($student);

 

二维数组访问方法:

变量名称[索引值][索引值] 

/* 二维数组 */
$students=array(
    0=>array(1,'Robin',true,88),
    1=>array(2,'David',true,90),
    2=>array(3,'Mike',false,85)
);
echo $students[0][1];  //Robin
echo $students[1][3];  //90

 

索引数组和关联数组都有两种数组写法,可以直接为数组赋值创建数组或者用array()结构创建数组

 

遍历数组

php中很少需要自己动手将大量的数据赋值到数组变量中,而是通过调用其他函数返回结果集,

这些结果集很多情况下都是数组类型,使用数组类型返回的目的是将相互关联的数据组织在一起形成集合,

以方便批量处理,所有实际工作中数组遍历需求较多

 

计算数组里数据的个数:

1)一维数组

count(数组名字)  

$arr=array(
    'a','b','c','d','e','f'
);
echo count($arr); //6

2)二维数组

$arr=array(
    'a','b','c','d','e','f'
);
$arr1=array(
    array(1,2,3),
    array(4,5,6)
);
echo count($arr1,1); //参数1是可选的,结果是8个数据

 

用 for循环遍历索引数组:

//一维数组遍历
$arr=array('a','b','c','d','e','f');

for($i=0;count($arr);$i++){
    echo $arr[$i].'<br/>';
}

 

用 foreach循环遍历关联数组:

1)遍历关联数组,但不显示索引值

foreach(数组名 as 变量1){

            每次循环执行的语句

            变量1代表当前正在访问的数据

}

$arr1=array(
    'name'=>'ROBIN',
    'num'=>10
);
foreach($arr1 as $value){
    echo $value.'<br/>';
}
//ROBIN
//10

 

2)遍历关联数组,同时显示索引值

foreach(数组名 as 变量1=>变量2){

            每次循环执行的语句

            变量1代表当前正在访问的数据索引值

            变量2代表当前正在访问的数据

}

$arr1=array(
    'name'=>'ROBIN',
    'num'=>10
);
foreach($arr1 as $key=>$value){
    echo $key.'=>'.$value.'<br/>';
}
//name=>ROBIN
//num=>10

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值