假设把2017改成2014,即有两个相同2014学号,如何输出这相同学号的两个名字

来源:6-16 PHP中结构嵌套之循环结构与条件结构嵌套

翼梦设计工作室

2016-11-15 15:00

<?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;//结束循环(跳出循环)

}

}

?>


写回答 关注

1回答

  • weibo_水寒20150906_03198321
    2016-11-15 16:16:00

    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


    翼梦设计工作...

    请问,那怎么改才不覆盖呢?

    2016-11-15 23:45:20

    共 1 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

455994 学习 · 6306 问题

查看课程

相似问题