<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2014'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
$query = '2014';
//使用循环结构遍历数组,获取学号和姓名
foreach($students as $key =>$v){
//使用条件结构,判断是否为该学号
if($key==$query)
{
echo $v;//输出(打印)姓名
break;//结束循环(跳出循环)
}
}
?>
array中如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。
就你写的这个程序,把foreach里面改为
foreach($students as $key=>$v)
{
//使用条件结构,判断是否为该学号
//if($key==$query)
{
echo $v;//输出(打印)姓名
echo "<br />";
//break;//结束循环(跳出循环)
}
}
即把数组都打出来,会得到这样的结果:
令狐冲
林平之
曲洋
任盈盈
方正
任我行
冲虚
岳不群
宁中则
方正把向问天给覆盖了!如果把下面岳不群的key也改成2014,运行会得到:
令狐冲
林平之
曲洋
任盈盈
岳不群
任我行
冲虚
宁中则
岳不群把他俩都覆盖了!这里有array更详细的介绍:http://php.net/manual/zh/language.types.array.php