一、索引数组
索引数组:一般表示数组元素在数组中的位置。
在php中数组元素可以是任意类型。
键=>值,在数组中,键不相同的,值可以相同。
array_push 将一个或多个单元压入数组的末尾(入栈)。
range 建立一个包含指定范围单元的数组。 $array[] = range($start,$limit); // $start 开始 $limit 结束
<?php
header('content-type:text/html;charset=utf-8');
//索引数组
$arr1 = array(50,60,70,80);
$arr2 = array('张三','李四','王五');
$arr3 = array(50,'张三','李四',80.56); //php中数组元素可以是任意类型
$arr4 = ['apple','banana',50,50.8]; //从php5.4开始可以使用这种方式
$arr5 = array(5=>'apple',6=>'banana',50,7=>50.8); //键=>值 , 在数组中,键不能相同,值可以相同
二、关联数组
(1)关联数组
在其他计算机语言中。一般叫做 hash 或者 map
使用关联数组,我们可以为每个数组元素指定一个关键词,我们将之称为键(key)
$arr = ['a','b','c'];
echo $arr[1]; //输出b,这里的1是索引下标 数组元素的读取
<?php
header('content-type:text/html;charset=utf-8');
//关联数组,键为字符串或字符串与数字混合
// $arr = array('张三'=>50,'李四'=>80,'王五'=>70,5=>'apple','banana');
// $arr = ['张三'=>50,'李四'=>80,'王五'=>70,5=>'apple','banana'];
$arr = [];
$arr['张三'] = 50;
$arr['李四'] = 80;
$arr['王五'] = 70;
$arr[5] = 'apple';
$arr[] = 'banana';
echo $arr['张三'];
(2)遍历数组
您编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,我们有以下循环语句:
- while - 只要指定条件为真,则循环代码块
- do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
- for - 循环代码块指定次数
- foreach - 遍历数组中的每个元素并循环代码块
在foreach循环中,想要改变数组的值就要给 $value 加上&(取地址符),(引用赋值) unset($value);//取消引用赋值
<?php
$arr = array('张三','李四','王五');
foreach($arr as $key=>$value){
echo $key . '=>' . $value . '<br>'; //$v输出值,$k输出键
}
三、多维数组
一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组
<?php
header('content-type:text/html;charset=utf-8');
//多维数组
//存放多名学生信息 (学号,姓名,性别,年龄)
$arr = array();
$arr[1001] = array(1001,'张三','男',20);
$arr[1002] = array(1002,'李四','男',19);
$arr[1003] = array(1003,'王五','女',19);
echo '<pre>';
print_r($arr);
echo '</pre>';
unset($arr[1002]); //取消引用赋值
echo '<pre>';
print_r($arr);
echo '</pre>';
遍历二维数组
//遍历二维数组
foreach($arr as $value){
//print_r($value);
foreach ($value as $v) {
echo $v . '<br>';
}
}