php 数组元素分类,数组分类、定义及遍历

$codes = 'html>

数组遍历

h1{margin: 0px;color: red;background: #ccc;}

h3{margin: 0px;color: red;background: #ccc;}

h5{margin: 0px;color: red;background: #ccc;}

body{font-size: 24px;color: #ccc;}

数组遍历

';

echo ($codes);

/**

* 课程内容

* 1.数组分类

* 2.数组定义

* 3.数组遍历

*/

/**

* 一、数组分类

* 1.数组是由一组有序的值或键值对组成的数据结构

* 2.数组根据键名类型分为:索引数组 与 关联数组 二大类

* 3.索引数组:键名是元素的位置索引,默认从0开始,采用系统自动处理可以省略键名

* 4.关联数组:键名是自定义的字符串,类似于对象中的属性列表

*/

//索引数组: 采用字面量直接定义

//降龙十八掌,前六招,能接住这前六招,当今武林,恐怕不会超过五人,目前已经够用了

$arts = ['亢龙有悔', '飞龙在天', '见龙在田', '鸿渐于陆', '潜龙勿用', '突如其来'];

//关联数组: 采用字面量直接定义

$swordsman = ['name'=>'郭靖', 'position'=>'金刀驸马', 'skill'=>'降龙十八掌'];

foreach ($swordsman as $key => $value) {

# code...

echo $key."=》".$value."
";

}

echo "


";

/**

* 二、数组定义

* 1. 整体定义: $arr = [...]

* 2. 逐个定义: $arr[] = ...

* 3. 数组元素可以是字面量,也可以变量,甚至还可以是数组,从而创建多维数组

*/

//整体定义,参照上面的案例

//逐个定义:以添加的方式的来创建数组

$postion = '金刀驸马';

$swordsman = []; //可选,推荐写上

$swordsman['name'] = '郭靖';     //用追加的方式,用字面量初始化元素

$swordsman['course'] = $postion;   //用变量初始化元素

$swordsman['skill'] = '降龙十八掌';

/**

* 三、数组遍历

* 1. for()循环:适合遍历索引数组

* 2. while()循环

* 3. foreach()循环: 数组专用,强烈推荐

* 4. list(),each(),while()配合完成的遍历,因为each()已不再推荐,所以不再学习

* 4. 内部指针

*/

//1.for

$res1 = '降龙十八掌招式:';

for ($i=0; $i

$res1 .= $arts[$i].',';//  .=  连接字符串

echo $res1,"
";

}

echo rtrim($res1, ','), '


';//rtrim()字符串函数:去掉最右边指定字符

//2.while

$res2 = '';

$i = 0;

while ($i 

$res2 .= $arts[$i].'-';

echo $res2,"
";

$i++;

}

echo rtrim($res2, '-'), '


';

//3.foreach()

foreach ($swordsman as $key=>$value)

{

echo $key,'=>',$value,'
';

}

echo "


测试each


";

/**

* 4.list(),each(),while()遍历

* list($var1,$var2,...) = [value1, value2,....]:将索引数组中的值,依次赋给list()中的变量

* each($arr):将数组中的每个元素,拆分键和值二部分,并分别以索引和关联二种方式返回

*/

//测试each()

$arr = [100,'name'=>'peter'];

$temp = each($arr);

print_r($temp);

$temp = each($arr);

print_r($temp);

//

echo "


list()和each()完成遍历数组,上面遍历过,指针需要复位,使用reset()函数

";

reset($swordsman);

while(list($key, $value) = each($swordsman)){

echo $key,'=>',$value,'
';

}

echo "


";

/**

* 5.内部指针

* (1)current():当前指针指向元素的值

* (2)key(): 当前指针指向元素的键名/索引

* (3)next(): 指针后移

* (4)prev(): 指针前移

* (5)end(): 指针移到尾部最后一个元素上

* (6)reset(): 指针复位,指向第一个元素

*/

//指针复位

reset($arts);

//获取第一个元素的键值

echo key($arts),'---',current($arts),'
';

//后移一位,获取第二个元素的键值

next($arts);

echo key($arts),'---',current($arts),'
';

//前移一位

prev($arts);

echo key($arts),'---',current($arts),'
';

//移到最后,获取最后一个元素的键值

end($arts);

echo key($arts),'---',current($arts),'
';

//下面我们用for()循环与数组指针配合来完成关联数数组的遍历

echo '


';

//记得先复位数组指针,从头开始遍历

reset($arts);

for ($i=0; $i

//输出当前元素的键值

echo key($arts),'---',current($arts),'
';

//指针后移一位

next($arts);

}

//使用while循环配置指针进行遍历

echo '


使用入口判断型,会导致第一招丢失

';

reset($arts);

//使用入口判断型,会导致第一招丢失

while (next($arts)) {

echo key($arts),'---',current($arts),'
';

}

echo '


使用入口判断型另一种方法

';

reset($arts);

//使用入口判断型另一种方法

while (current($arts)) {

echo key($arts),'<===>',current($arts),'
';

next($arts);

}

//应该使用出口判断结构: do ~ while()

echo '


使用出口判断结构: do ~ while()

';

reset($arts);

do {

echo key($arts),'---',current($arts),'
';

} while (next($arts));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值